home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Everything For A Hacker
/
19990506-[HACK].iso
/
HEXEDIT
/
ASM_DOC.ZIP
/
TD.DOC
/
CHAP5.TXT
< prev
next >
Wrap
Text File
|
1990-11-20
|
38KB
|
915 lines
âïÇéÇ 5 ôÅÉÇéïàìêà ÅÉÄûàææÄî é¢ÅÄïìàìêƒ ÅÉÄâÉÇîî¢
Åα¿ «Γ½áñ¬Ñ »α«úαá¼¼δ «íδτ¡« óδ»«½¡∩ÑΓß∩ ¬á¬á∩-Γ« ÑÑ τáßΓ∞ ¿
»α«óÑα∩ÑΓß∩ »αáó¿½∞¡«ßΓ∞ ÑÑ αáí«Γδ ó ΓѬπΘÑ⌐ Γ«τ¬Ñ. Turbo
Debugger »«ºó«½∩ÑΓ π»αáó½∩Γ∞ »α«µÑßß«¼ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ
αẽ¿τ¡δ¼¿ ß»«ß«íἿ. éδ ¼«ªÑΓÑ:
- óδ»«½¡¿Γ∞ «ñ¡π ¼áΦ¿¡¡πε ¬«¼á¡ñπ ¿½¿ «ñ¡π ßΓ᫬π ¿ßσ«ñ¡«ú«
ΓѬßΓá;
- óδ»«½¡∩Γ∞ ó맮óδ »α«µÑñπα ¿ Σπ¡¬µ¿⌐, ¡Ñ óσ«ñ∩ ó ¡¿σ;
- ó¬½ετáΓ∞ αѪ¿¼ "¼π½∞Γ¿»½¿¬áµ¿¿" «Γ«áñτ¿¬á (óδ»«½¡∩Γ∞
¡Ñ»αÑαδó¡πε Γαáßß¿α«ó¬π);
- óδ»«½¡∩Γ∞ ΓѬπΘπε »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ñ« ó«ºóαáΓá ó
óδºóáóΦπε ÑÑ »α«úαá¼¼π;
- óδ»«½¡∩Γ∞ »α«úαá¼¼π ñ« ¬«¡¬αÑΓ¡«ú« ¼ÑßΓá;
- óδ»«½¡∩Γ∞ »α«úαá¼¼π ñ« Γ«τ¬¿ «ßΓá¡«óá;
- ¼Ñ¡∩Γ∞ ¡á»αáó½Ñ¡¿Ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ ¡á
»α«Γ¿ó«»«½«ª¡«Ñ.
æÑá¡ß «Γ½áñ¬¿ ß«ßΓ«¿Γ ¿º ߼ѡ∩εΘ¿σ ñαπú ñαπúá »Ñα¿«ñ«ó,
¬«úñá αáí«ΓáÑΓ ½¿í« »α«úαá¼¼á, ½¿í« «Γ½áñτ¿¬. è«úñá αáí«ΓáÑΓ
«Γ½áñτ¿¬, ¼«ª¡« ºá»πßΓ¿Γ∞ «Γ½áª¿óáѼπε »α«úαá¼¼π, óδíαáó «ñ¡π ¿º
¬«¼á¡ñ ¼Ñ¡ε Run ¿½¿ ¡áªáó ÑÑ á¬Γ¿ó¡πε ¬½áó¿Φπ. è«úñá αáí«ΓáÑΓ
»α«úαá¼¼á, «Γ½áñτ¿¬ ºá»π߬áÑΓß∩ ó¡«ó∞ ½¿í« »«ß½Ñ óδ»«½¡Ñ¡¿∩
«»αÑñѽѡ¡«ú« Σαáú¼Ñ¡Γá »α«úαá¼¼δ, ½¿í« ¬«úñá óδ »αÑαδóáÑΓÑ ÑÑ
αáí«Γπ ¡áªáΓ¿Ñ¼ «»αÑñѽѡ¡δσ ¬½áó¿Φ, ½¿í« ¬«úñá Turbo Debugger
óßΓαÑτáÑΓ Γ«τ¬π «ßΓá¡«óá.
é φΓ«⌐ ú½áóÑ »«¬áºá¡«, ¬á¬ »α«óÑα∩Γ∞ ß«ßΓ«∩¡¿Ñ »α«úαá¼¼δ,
¬«úñá π»αáó½Ñ¡¿Ñ »ÑαÑσ«ñ¿Γ ¬ «Γ½áñτ¿¬π. Éáßß¼áΓα¿óáεΓß∩ αẽ¿τ¡δÑ
ß»«ß«íδ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ »« τáßΓ∩¼ ¿ ß»«ß«íδ »αÑαδóá¡¿∩
αáí«Γδ »α«úαá¼¼δ. Éáßß¼«ΓαÑ¡δ Γá¬ªÑ ß»«ß«íδ ó«º«í¡«ó½Ñ¡¿∩ cÑá¡ßá
«Γ½áñ¬¿ ¬á¬ ß Γ«⌐ ªÑ ßἫ⌐, Γᬠ¿ ß ñαπú«⌐ »α«úαá¼¼«⌐.
Åα«óÑα¬á ΓѬπΘÑú« ß«ßΓ«∩¡¿∩ »α«úαá¼¼δ
-----------------------------------------------------------------
Å«ñ "ß«ßΓ«∩¡¿Ñ¼ »α«úαá¼¼δ" »«¡¿¼áÑΓß∩ ß½ÑñπεΘÑÑ:
- º¡áτÑ¡¿∩ áαúπ¼Ñ¡Γ«ó »α«úαá¼¼δ, ºáñá¡¡δσ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ
DOS;
- ß«ñÑন¼«Ñ ßΓѬá á¬Γ¿ó¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐;
- ΓѬπΘÑÑ »«½«ªÑ¡¿Ñ ó ¿ßσ«ñ¡«¼ ΓѬßΓÑ ¿½¿ ¼áΦ¿¡¡«¼ ¬«ñÑ;
- º¡áτÑ¡¿∩ αÑú¿ßΓα«ó;
- ß«ñÑন¼«Ñ »á¼∩Γ¿;
- »α¿τ¿¡π, »« ¬«Γ«α«⌐ «Γ½áñτ¿¬ »αÑαóá½ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ;
- º¡áτÑ¡¿∩ »ÑαѼѡ¡δσ »α«úαá¼¼δ.
é ß½ÑñπεΘ¿σ αáºñѽáσ αáßß¼áΓα¿óáÑΓß∩ αáí«Γá ß «¬¡á¼¿
»ÑαѼѡ¡δσ ¿ ßΓѬá, ¿ß»«½∞º«óá¡¿Ñ ½«¬á½∞¡δσ ¼Ñ¡ε »«ñ«¬«¡
ú½«íá½∞¡δσ ¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ, ¬«¼á¡ñ Origin ¿ Get Info.
ê¡Σ«α¼áµ¿ε « Γ«¼, ¬á¬ »α«ß¼áΓα¿óáΓ∞ ¿ ¿º¼Ñ¡∩Γ∞ º¡áτÑ¡¿∩
»ÑαѼѡ¡δσ »α«úαá¼¼δ ß¼. ó â½áóÑ 6.
Ĭ¡« »ÑαѼѡ¡δσ (Variables)
é φΓ«¼ «¬¡Ñ «Γ«íαáªáεΓß∩ óßÑ »ÑαѼѡ¡δÑ (¿¼Ñ¡á ¿ º¡áτÑ¡¿∩),
ñ«ßΓπ»¡δÑ ó ΓѬπΘÑ⌐ Γ«τ¬Ñ »α«úαá¼¼δ. àú« ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩
»«¿ß¬á »ÑαѼѡ¡δσ, Γ«τ¡«Ñ ¡á»¿ßá¡¿Ñ ¬«Γ«αδσ óδ ºáí뫨. 諼á¡ñδ
½«¬á½∞¡«ú« ¼Ñ¡ε ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ »α«óÑન ¿ ¿º¼Ñ¡Ñ¡¿∩
º¡áτÑ¡¿⌐ »ÑαѼѡ¡δσ. èα«¼Ñ Γ«ú«, φΓ¿¼ «¬¡«¼ πñ«í¡« »«½∞º«óáΓ∞ß∩
ñ½∩ »α«óÑન ½«¬á½∞¡δσ »ÑαѼѡ¡δσ óδºóá¡¡«⌐ Σπ¡¬µ¿¿.
Åα¿¼Ñτá¡¿Ñ: Åα¿ «Γ½áñ¬Ñ »α«úαá¼¼δ, ¡á»¿ßá¡¡«⌐ ¡á ∩ºδ¬Ñ Turbo
Pascal, ó »ÑαѼѡ¡δÑ ¡Ñ íπñπΓ «αúá¡¿º«óá¡δ ó á½Σáó¿Γ¡«¼ »«α∩ñ¬Ñ.
Ĭ¡« Variables «Γ¬αδóáÑΓß∩ »α¿ »«¼«Θ¿ View|Variables. Ĭ¡«
Variables ¿¼ÑÑΓ ñóá »«ñ«¬¡á:
- »«ñ«¬¡« Global (óÑασ¡ÑÑ) »«¬áºδóáÑΓ óßÑ ú½«íá½∞¡δÑ
ß¿¼ó«½¿τÑ߬¿Ñ ¿¼Ñ¡á ó »α«úαá¼¼Ñ.
- »«ñ«¬¡« Static (¡¿ª¡ÑÑ) »«¬áºδóáÑΓ óßÑ ßΓáΓ¿τÑ߬¿Ñ
ß¿¼ó«½¿τÑ߬¿Ñ ¿¼Ñ¡á ΓѬπΘÑú« ¼«ñπ½∩ (¼«ñπ½∩, ¬«Γ«α«¼π »α¿¡áñ½Ñª¿Γ
ΓѬπΘ¿⌐ áñαÑß óδ»«½¡∩Ѽ«⌐ »α«úαá¼¼δ, CS:IP) ¿ óßÑ ß¿¼ó«½¿τÑ߬¿Ñ
¿¼Ñ¡á, ½«¬á½∞¡δÑ «Γ¡«ß¿Γѽ∞¡« ΓѬπΘÑ⌐ Σπ¡¬µ¿¿.
é «í«¿σ »«ñ«¬¡áσ ß½Ñóá π¬áºδóáÑΓß∩ ¿¼∩ »ÑαѼѡ¡«⌐, á ß»αáóá
- ÑÑ º¡áτÑ¡¿Ñ. àß½¿ Turbo Debugger ¡Ñ ¼«ªÑΓ ¡á⌐Γ¿ ¡¿¬á¬«⌐
¿¡Σ«α¼áµ¿¿ « Γ¿»Ñ ñá¡¡δσ ñ½∩ ñá¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, «¡ ßΓáó¿Γ
ß»αáóá «Γ ¡Ñú« τÑΓδαÑ º¡á¬á ó«»α«ßá (????).
ÆᬠªÑ, ¬á¬ ñ½∩ óßÑσ ½«¬á½∞¡δσ ¼Ñ¡ε, ñ½∩ ó맮óá ½«¬á½∞¡«ú«
¼Ñ¡ε »«ñ«¬¡á ú½«íá½∞¡δσ »ÑαѼѡ¡δσ ¡áñ« ¡áªáΓ∞ ¬½áó¿Φ¿ Alt-F10.
àß½¿ αáºαÑΦÑ¡« ¿ß»«½∞º«óá¡¿Ñ á¬Γ¿ó¡δσ ¬½áó¿Φ ó ¬«¼í¿¡áµ¿¿ ß
¬½áó¿ΦÑ⌐ Ctrl, ñ½∩ óδí«αá φΓ«⌐ ¬«¼á¡ñδ ¼«ª¡« ¡áªáΓ∞ ¬½áó¿Φπ Ctrl
ó ß«τÑΓá¡¿¿ ß »Ñαó«⌐ íπ¬ó«⌐ ñá¡¡«⌐ ¬«¼á¡ñδ.
àß½¿ ó »α«úαá¼¼Ñ ¿¼ÑεΓß∩ Σπ¡¬µ¿¿, ¬«Γ«αδÑ óδ»«½¡∩εΓ
αѬπαß¿ó¡δÑ ó맮óδ, ½¿í« Ñß½¿ ¡Ñ«íσ«ñ¿¼« »α«ß¼«ΓαÑΓ∞ ½«¬á½∞¡δÑ
»ÑαѼѡ¡δÑ óδºóá¡¡«⌐ Σπ¡¬µ¿¿, Γ« ¼«ª¡« »α«óÑα¿Γ∞ º¡áτÑ¡¿Ñ
¬«¡¬αÑΓ¡«ú« φ¬ºÑ¼»½∩αá ½«¬á½∞¡δσ ñá¡¡δσ Σπ¡¬µ¿¿. ä½∩ φΓ«ú« ¡áñ«
«Γ¬αδΓ∞ «¬¡« ßΓѬá, óδ»«½¡¿ó ¬«¼á¡ñπ View/Stack, »ÑαѼÑßΓ¿Γ∞
óδñѽ∩εΘ¿⌐ ¬παß«α ¬ ¡πª¡«¼π ó맮óπ Σπ¡¬µ¿¿, á ºáΓѼ ¡áªáΓ∞
¬½áó¿Φ¿ Alt-F10 ¿ óδíαáΓ∞ ¬«¼á¡ñπ Locals. é »«ñ«¬¡Ñ ßΓáΓ¿τÑ߬¿σ
»ÑαѼѡ¡δσ «¬¡á »ÑαѼѡ¡δσ íπñπΓ »«¬áºá¡δ º¡áτÑ¡¿∩ ñ½∩ φΓ«ú«
¬«¡¬αÑΓ¡«ú« φ¬ºÑ¼»½∩αá ó맮óá Σπ¡¬µ¿¿.
﫬á½∞¡«Ñ ¼Ñ¡ε »«ñ«¬¡á ú½«íá½∞¡δσ »ÑαѼѡ¡δσ
--------------------------------------------
é φΓ«¼ ½«¬á½∞¡«¼ ¼Ñ¡ε ¿¼ÑÑΓß∩ ñóÑ ¬«¼á¡ñδ: Inspect
(»α«óÑα¿Γ∞) ¿ Change (¿º¼Ñ¡¿Γ∞).
--------
Inspect
Change
--------
諼á¡ñá Inspect
---------------
ÄΓ¬αδóáÑΓ «¬¡« »α«óÑન (Inspector), ó ¬«Γ«α«¼ »«¬áºá¡«
º¡áτÑ¡¿Ñ óδíαá¡¡«⌐ ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐. Éáí«Γá ß «¬¡«¼ »α«óÑન
í«½ÑÑ »«ñα«í¡« «»¿ßá¡á ó ú½áóÑ 6.
àß½¿ »ÑαѼѡ¡á∩, ¬«Γ«απε ¡Ñ«íσ«ñ¿¼« »α«óÑα¿Γ∞, ∩ó½∩ÑΓß∩
¿¼Ñ¡Ñ¼ »«ñ»α«úαá¼¼δ, ó «¬¡Ñ íπñÑΓ »«¬áºá¡ ÑÑ ¿ßσ«ñ¡δ⌐ ΓѬßΓ, ½¿í«
(Ñß½¿ ¿ßσ«ñ¡δ⌐ ΓѬßΓ ¡Ñ ñ«ßΓπ»Ñ¡) ó «¬¡Ñ »α«µÑßß«αá (CPU) íπñÑΓ
»«¬áºá¡ ñ¿ºáßßÑ¼í½¿α«óá¡¡δ⌐ ¬«ñ.
àß½¿ ¿¼ÑÑΓß∩ ½«¬á½∞¡á∩ »ÑαѼѡ¡á∩, ¿¼∩ ¬«Γ«α«⌐ ß«ó»áñáÑΓ ß
»α«óÑα∩Ѽ«⌐ ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐, íπñÑΓ »«¬áºá¡« º¡áτÑ¡¿Ñ
ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐, á ¡Ñ ½«¬á½∞¡«⌐. Æá¬«Ñ »«óÑñÑ¡¿Ñ ¡Ñ¼¡«ú«
«Γ½¿τáÑΓß∩ «Γ «íδτ¡«ú« »«óÑñÑ¡¿∩ «¬¡á »α«óÑન, ¬«Γ«α«Ñ «íδτ¡«
»«¬áºδóáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐, ßó∩ºá¡¡«Ñ ß ΓѬπΘÑ⌐ Γ«τ¬«⌐
»α«úαá¼¼δ (CS:IP). ü½áú«ñáα∩ φΓ«¼π, »«½∞º«óáΓѽ∞ ¼«ªÑΓ
»α«ß¼áΓα¿óáΓ∞ º¡áτÑ¡¿∩ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ, ¿¼Ñ¡á ¬«Γ«αδσ
¿ß»«½∞ºπεΓß∩ ¿ ñ½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ.
諼á¡ñá Change
--------------
çá¼Ñ¡∩ÑΓ º¡áτÑ¡¿Ñ óδíαá¡¡«⌐ (óδñѽѡ¡«⌐) ú½«íá½∞¡«⌐
»ÑαѼѡ¡«⌐ º¡áτÑ¡¿Ñ¼, ¬«Γ«α«Ñ óó«ñ¿Γ »«½∞º«óáΓѽ∞ ó í½«¬Ñ ñ¿á½«úá
Change. Turbo Debugger óδ»«½¡∩ÑΓ ½εí«Ñ ¡Ñ«íσ«ñ¿¼«Ñ »αÑ«íαẫóá¡¿Ñ
Γ¿»«ó ñá¡¡δσ Γ«τ¡« ΓᬠªÑ, ¬á¬ Ñß½¿ íδ ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ º¡áτÑ¡¿∩
¿ß»«½∞º«óá½ß∩ «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ ¿ßσ«ñ¡«ú« ∩ºδ¬á. ü«½ÑÑ
»«ñα«í¡á∩ ¿¡Σ«α¼áµ¿∩ « »α¿ßóá¿óá¡¿¿ ¿ »αÑ«íαẫóá¡¿¿ Γ¿»«ó ñá¡¡δσ
»α¿óÑñÑ¡á ó ú½áóÑ 9.
èα«¼Ñ φΓ«ú«, ¼«ª¡« ¿º¼Ñ¡¿Γ∞ º¡áτÑ¡¿Ñ óδíαá¡¡«⌐ »ÑαѼѡ¡«⌐,
»α«ßΓ« ¡áτáó óó«ñ¿Γ∞ ¡«ó«Ñ º¡áτÑ¡¿Ñ. Åα¿ φΓ«¼ »«∩ó½∩ÑΓß∩ Γá¬«Ñ ªÑ
»«½Ñ ºá»α«ßá, ¬á¬ Ñß½¿ íδ ß¡áτá½á íδ½á óδíαá¡á ¬«¼á¡ñá Change.
﫬á½∞¡«Ñ ¼Ñ¡ε »«ñ«¬¡á ßΓáΓ¿τÑ߬¿σ »ÑαѼѡ¡δσ
---------------------------------------------
ä½∩ ó맮óá ½««¬á½∞¡«ú« ¼Ñ¡ε »«ñ«¬¡á ßΓáΓ¿τÑ߬¿σ »ÑαѼѡ¡δσ
¡áª¼¿ΓÑ ¬½áó¿Φ¿ Alt-F10. àß½¿ αáºαÑΦÑ¡« ¿ß»«½∞º«óá¡¿Ñ á¬Γ¿ó¡δσ
¬½áó¿Φ ó ¬«¼í¿¡áµ¿¿ ß ¬½áó¿ΦÑ⌐ Crtl, ñ½∩ óδí«αá φΓ«⌐ ¬«¼á¡ñδ
¼«ª¡« ¡áªáΓ∞ ¬½áó¿Φπ Ctrl ó ß«τÑΓá¡¿¿ ß »Ñαó«⌐ íπ¬ó«⌐ ñá¡¡«⌐
¬«¼á¡ñδ.
é ½«¬á½∞¡«¼ ¼Ñ¡ε »«ñ«¬¡á ßΓáΓ¿τÑ߬¿σ »ÑαѼѡ¡δσ ¿¼ÑεΓß∩ ΓÑ
ªÑ ñóÑ ¬«¼á¡ñδ: Inspect ¿ Change.
-----------
Inspect
Change
-----------
諼á¡ñá Inspect
---------------
ÄΓ¬αδóáÑΓ «¬¡« »α«óÑન (Inspector), ó ¬«Γ«α«¼ «Γ«íαáªáÑΓß∩
º¡áτÑ¡¿Ñ óδíαá¡¡«⌐ ½«¬á½∞¡«⌐ »ÑαѼѡ¡«⌐ ¼«ñπ½∩. ü«½ÑÑ »«ñα«í¡«
αáí«Γá ß «¬¡«¼ »α«óÑન «»¿ßá¡á ó ú½áóÑ 6.
諼á¡ñá Change
--------------
çá¼Ñ¡∩ÑΓ º¡áτÑ¡¿Ñ óδíαá¡¡«⌐ (óδñѽѡ¡«⌐) ½«¬á½∞¡«⌐
»ÑαѼѡ¡«⌐ º¡áτÑ¡¿Ñ¼, ¬«Γ«α«Ñ óó«ñ¿Γ »«½∞º«óáΓѽ∞ ó í½«¬Ñ ñ¿á½«úá
Change. Turbo Debugger óδ»«½¡∩ÑΓ ½εí«Ñ ¡Ñ«íσ«ñ¿¼«Ñ »αÑ«íαẫóá¡¿Ñ
Γ¿»«ó ñá¡¡δσ Γ«τ¡« ΓᬠªÑ, ¬á¬ Ñß½¿ íδ ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ º¡áτÑ¡¿∩
¿ß»«½∞º«óá½ß∩ «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ ¿ßσ«ñ¡«ú« ∩ºδ¬á. ü«½ÑÑ
»«ñα«í¡á∩ ¿¡Σ«α¼áµ¿∩ « »α¿ßóá¿óá¡¿¿ ¿ »αÑ«íαẫóá¡¿¿ Γ¿»«ó ñá¡¡δσ
»α¿óÑñÑ¡á ó ú½áóÑ 9.
èα«¼Ñ φΓ«ú«, ¼«ª¡« ¿º¼Ñ¡¿Γ∞ º¡áτÑ¡¿Ñ óδíαá¡¡«⌐ »ÑαѼѡ¡«⌐,
»α«ßΓ« ¡áτáó óó«ñ¿Γ∞ ¡«ó«Ñ º¡áτÑ¡¿Ñ. Åα¿ φΓ«¼ »«∩ó½∩ÑΓß∩ Γá¬«Ñ ªÑ
»«½Ñ ºá»α«ßá, ¬á¬ Ñß½¿ íδ ß¡áτá½á íδ½á óδíαá¡á ¬«¼á¡ñá Change.
Ĭ¡« ßΓѬá (Stack)
Ĭ¡« ßΓÑ¬á «Γ¬αδóáÑΓß∩ »« ¬«¼á¡ñÑ F10/View/Stack. é φΓ«¼
«¬¡Ñ »α¿ó«ñ¿Γß∩ ß»¿ß«¬ óßÑσ á¬Γ¿ó¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. ÅÑαó«⌐ ó
ß»¿ß¬Ñ ∩ó½∩ÑΓß∩ »«ß½Ññ¡∩∩ óδºóá¡¡á∩ »«ñ»α«úαá¼¼á, ºá ¡Ñ⌐ ¿ñÑΓ
óδºóáóΦá∩ ÑÑ »«ñ»α«úαá¼¼á ¿ Γ.ñ. ñ« ßἫ⌐ »Ñαó«⌐ »α«µÑñπαδ ¿½¿
Σπ¡¬µ¿¿ (ó »α«úαá¼¼Ñ ¡á Åá߬á½Ñ φΓ« «ß¡«ó¡á∩ »α«úαá¼¼á, ó
»α«úαá¼¼Ñ ¡á æ¿ φΓ«, «íδτ¡«, Σπ¡¬µ¿∩ ß ¿¼Ñ¡Ñ¼ main()). ä½∩ ¬áªñ«⌐
»α«µÑñπαδ ¿ Σπ¡¬µ¿¿ »α¿ó«ñ∩Γß∩ º¡áτÑ¡¿∩ óßÑσ »áαá¼ÑΓα«ó, ß
¬«Γ«α묨 «¡¿ í뫨 óδºóá¡δ.
ǡὫú¿τ¡δ¼ «íαẫ¼ «¬¡« Stack óδó«ñ¿Γ ¿¼Ñ¡á «íΩÑ¬Γ¡δσ
»αáó¿½ ¿½¿ ¬«¼»«¡Ñ¡¿¡δσ Σπ¡¬µ¿⌐ ¬½áßßá, »ÑαÑñ ¬«Γ«α묨 óδó«ñ∩Γß∩
¿¼∩ «íΩѬΓá ¿½¿ Γ¿» ¬½áßßá, «»αÑñѽ∩εΘ¿⌐ »αá󿽫 ¿½¿ ¬«¼»«¡Ñ¡Γ¡πε
Σπ¡¬µ¿ε:
SHAPES.ACIRCLE(174, 360, 75.0) (Turbo Pascal)
ä½∩ ó맮óá ½«¬á½∞¡«ú« ¼Ñ¡ε «¬¡á ßΓÑ¬á ¡áª¼¿ΓÑ ¬½áó¿Φ¿
Alt-F10 ¿½¿ ¬½áó¿Φπ Ctrl ó ß«τÑΓá¡¿¿ ß »Ñαó«⌐ íπ¬ó«⌐ ¡πª¡«⌐
¬«¼á¡ñδ ¼Ñ¡ε, τΓ«íδ ßαáºπ óδ»«½¡¿Γ∞ φΓ𠬫¼á¡ñπ.
﫬á½∞¡«Ñ ¼Ñ¡ε «¬¡á ßΓѬá
-------------------------
﫬á½∞¡«Ñ ¼Ñ¡ε ß«ñÑαª¿Γ ñóÑ ¬«¼á¡ñδ: Inspect ¿ Locals.
-------------
Inspect
Locals
-------------
諼á¡ñá Inspect
---------------
ÄΓ¬αδóáÑΓ «¬¡« ¼«ñπ½∩ (Module), αáß»«½«ªÑ¡¡«Ñ ó«º½Ñ á¬Γ¿ó¡«⌐
ßΓ᫬¿ óδíαá¡¡«⌐ Σπ¡¬µ¿¿. àß½¿ óδíαá¡¡á∩ Σπ¡¬µ¿∩ ∩ó½∩ÑΓß∩ »Ñαó«⌐
ó ß»¿ß¬Ñ (óδºóá¡á »«ß½Ññ¡Ñ⌐), ó «¬¡Ñ ¼«ñπ½∩ π¬áºδóáÑΓß∩ ΓѬπΘá∩
Γ«τ¬á »«ñ»α«úαá¼¼δ (ß«ñÑন¼«Ñ αÑú¿ßΓα«ó CS:IP). àß½¿ óδíαá¡¡á∩
Σπ¡¬µ¿∩ ¡Ñ ∩ó½∩ÑΓß∩ »«ß½Ññ¡Ñ⌐ óδºóá¡¡«⌐ Σπ¡¬µ¿Ñ⌐, «¬¡«
αáß»«½áúáÑΓß∩ ó«º½Ñ ßΓ᫬¿ φΓ«⌐ Σπ¡¬µ¿¿, ¬«Γ«αá∩ íπñÑΓ
óδ»«½¡∩Γ∞ß∩ »«ß½Ñ ó«ºóαáΓá ¿º óδºóá¡¡«⌐ Σπ¡¬µ¿¿.
¥Γ𠬫¼á¡ñπ Γá¬ªÑ ¼«ª¡« óδºóáΓ∞, πßΓá¡«ó¿ó óδñѽ∩εΘ¿⌐ ¬παß«α
¡á ¡πª¡πε Σπ¡¬µ¿ε ¿ ¡áªáó ¬½áó¿Φπ Enter.
諼á¡ñá Locals
--------------
ÄΓ¬αδóáÑΓ «¬¡« »ÑαѼѡ¡δσ, ó ¬«Γ«α«¼ »«¬áºδóáεΓß∩ óßÑ
½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ ΓѬπΘÑú« ¼«ñπ½∩, á Γá¬ªÑ ½«¬á½∞¡δÑ
»ÑαѼѡ¡δÑ óδíαá¡¡«⌐ Σπ¡¬µ¿¿. àß½¿ ¬á¬á∩-½¿í« Σπ¡¬µ¿∩ αѬπαß¿ó¡«
óδºδóáÑΓ ßá¼á ßÑí∩, ó «¬¡Ñ ßΓѬá íπñÑΓ ¡Ñ߬«½∞¬« φ¬ºÑ¼»½∩α«ó φΓ«⌐
Σπ¡¬µ¿¿. ôßΓá¡«ó¿ó óδñѽ∩εΘ¿⌐ ¬παß«α ¡á «ñ¿¡ ¿º ó맮ó«ó, ¼«ª¡«
»α«ß¼«ΓαÑΓ∞ º¡áτÑ¡¿∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ñá¡¡«ú« φ¬ºÑ¼»½∩αá
Σπ¡¬µ¿¿.
諼á¡ñá Origin ½«¬á½∞¡«ú« ¼Ñ¡ε
Ĭ¡« ¼«ñπ½∩ ¿ »«ñ«¬¡« ¬«ñá «¬¡á »α«µÑßß«αá ¿¼ÑεΓ ó ßó«¿σ
½«¬á½∞¡δσ ¼Ñ¡ε ¬«¼á¡ñπ Origin. ¥Γá ¬«¼á¡ñá »«º¿µ¿«¡¿απÑΓ ¬παß«α ó
ΓѬπΘπε Γ«τ¬π »α«úαá¼¼δ, ¬«Γ«α«⌐ ß««ΓóÑΓßΓóπÑΓ º¡áτÑ¡¿Ñ »áαδ
αÑú¿ßΓα«ó CS:IP. ¥Γá ¬«¼á¡ñá «τÑ¡∞ »«½Ñº¡á ó ΓÑσ ß½πτá∩σ, ¬«úñá
óδ »α«ß¼áΓα¿ó὿ ΓѬßΓ »α«úαá¼¼δ ¿ σ«Γ¿ΓÑ óÑα¡πΓ∞ß∩ ó Γ«τ¬π, úñÑ
í佫 «ßΓá¡«ó½Ñ¡« ÑÑ óδ»«½¡Ñ¡¿Ñ.
Åα«ß¼«Γα ß«ßΓ«∩¡¿∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ: ¬«¼á¡ñá Get Info
諼á¡ñπ Get Info ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ »«½πτÑ¡¿∩ ¿¡Σ«α¼áµ¿¿
«í ¿ß»«½∞º«óá¡¿¿ »á¼∩Γ¿ ¿ « »α¿τ¿¡Ñ »ÑαÑñáτ¿ π»αáó½Ñ¡¿∩
«Γ½áñτ¿¬π. ¥Γá ¿ ñαπúá∩ ¿¡Σ«α¼áµ¿∩ «Γ«íαáªáÑΓß∩ ó «Γñѽ∞¡«¼ «¬¡Ñ,
¬«Γ«α«Ñ πñá½∩ÑΓß∩ ß φ¬αá¡á »α¿ ¡áªáΓ¿¿ ½εí«⌐ ¬½áó¿Φ¿. é φΓ«¼ «¬¡Ñ
«Γ«íαáªáÑΓß∩ ß½ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩:
- ¿¼∩ «Γ½áª¿óáѼ«⌐ »α«úαá¼¼δ;
- «»¿ßá¡¿Ñ »α¿τ¿¡ «ßΓá¡«óá »α«úαá¼¼δ;
- ¬«½¿τÑßΓó« »á¼∩Γ¿, ¿ß»«½∞ºπѼ«⌐ DOS, «Γ½áñτ¿¬«¼ ¿
»α«úαá¼¼«⌐;
- Ñß½¿ ¿¼ÑÑΓß∩ αáßΦ¿αÑ¡¡á∩ »á¼∩Γ∞, ñá¡¡δÑ « ÑÑ ¿ß»«½∞º«óá¡¿¿
»α¿ó«ñ∩Γß∩ ß»αáóá «Γ ¿¡Σ«α¼áµ¿¿ «í «ß¡«ó¡«⌐ »á¼∩Γ¿;
- ß»¿ß«¬ »αÑαδóá¡¿⌐, »ÑαÑσóáτÑ¡¡δσ «Γ½áª¿óáѼ«⌐ »α«úαá¼¼«⌐;
- óÑαß¿∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS, ó ¬«Γ«α«⌐ óδ αáí«ΓáÑΓÑ;
- «íαáíáΓδóáεΓß∩ ½¿ Γ«τ¬¿ «ßΓá¡«óá ¿ß¬½ετ¿Γѽ∞¡«
»α«úαá¼¼¡δ¼¿ ßαÑñßΓóἿ, ¿½¿ «¡¿ ¿¼ÑεΓ á»»áαáΓ¡πε »«ññÑ᪬π.
ì¿ªÑ »α¿óÑñÑ¡ ß»¿ß«¬ ß««íΘÑ¡¿⌐, ¬«Γ«αδÑ «íΩ∩ß¡∩εΓ »α¿τ¿¡π,
»« ¬«Γ«α«⌐ í佫 «ßΓá¡«ó½Ñ¡« óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ, ¿ óδßóÑτ¿óáεΓß∩
ó« óΓ«α«⌐ ßΓα«¬Ñ «¬¡á.
Stoped at_ («ßΓá¡«ó½Ñ¡á ¡á...)
Åα«úαá¼¼á íδ½á «ßΓá¡«ó½Ñ¡á ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ «ñ¡«⌐ ¿º
¬«¼á¡ñ: Run/Execute To, Run/Go to Cursor ¿½¿ Run/Until Return.
¥Γ« ß««íΘÑ¡¿Ñ óδñáÑΓß∩ Γá¬ªÑ »α¿ »Ñαó«⌐ ºáúαπº¬Ñ »α«úαá¼¼δ, ¬«úñá
óδ»«½¡Ñ¡ ¬«ñ ¡áτá½∞¡«⌐ ºáúαπº¬¿, ßΣ«α¼¿α«óá¡¡δ⌐ ¬«¼»¿½∩Γ«α«¼, ¿
¼áα¬Ñα óδ»«½¡Ñ¡¿∩ πßΓá¡«ó½Ñ¡ ó ¡áτá½Ñ ΓѬßΓá »α«úαá¼¼δ.
No program loaded (»α«úαá¼¼á ¡Ñ ºáúαπªÑ¡á)
Turbo Debugger íδ½ ºá»πΘÑ¡ íѺ ¬á¬«⌐-½¿í« »α«úαá¼¼δ. 쿬ᬫ⌐
¬«ñ ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡, »«¬á ¡Ñ íπñÑΓ ºáúαπªÑ¡á »α«úαá¼¼á ¿½¿
¡Ñ íπñÑΓ ßáßßÑ¼í½¿α«óá¡á τáßΓ∞ ¬«¼á¡ñ ß »«¼«Θ∞ε ¬«¼á¡ñδ Assemble
½«¬á½∞¡«ú« ¼Ñ¡ε »«ñ«¬¡á ¬«ñá «¬¡á »α«µÑßß«αá.
Control Break (¡áªáΓδ ¬½áó¿Φ¿ Ctrl-Break)
éδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ í佫 «ßΓá¡«ó½Ñ¡« ó αѺπ½∞ΓáΓÑ ¡áªáΓ¿∩
¬½áó¿Φ Ctrl-Break »«ß½Ñ Γ«ú« ¬á¬ ¬½áó¿ΦÑ Break íδ½á ¡áº¡áτÑ¡á
¬á¬á∩½¿í« ñαπúá∩ Σπ¡¬µ¿∩.
Trace (Γαáßß¿α«ó¬á)
üδ½á óδ»«½¡Ñ¡á «ñ¡á ßΓα«¬á ¿ßσ«ñ¡«ú« ΓѬßΓá ¿½¿ ¼áΦ¿¡¡á∩
¬«¼á¡ñá »« ¬«¼á¡ñÑ F7(Run|Trace).
Breakpoint at_ (Γ«τ¬á «ßΓá¡«óá ó...)
Åα¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ óßΓαÑΓ¿½áß∞ Γ«τ¬á «ßΓá¡«óá,
ºáñá¡¡á∩ ñ½∩ »αÑαδóá¡¿∩ αáí«Γδ »α«úαá¼¼δ. ÆѬßΓ »«ß½Ñ ß½«óá "at"
«º¡áτáÑΓ áñαÑß ¬«¼á¡ñδ »α«úαá¼¼δ, ¡á ¬«Γ«α«⌐ πßΓá¡«ó½Ñ¡á Γ«τ¬á
«ßΓá¡«óá.
Terminated, exit code_ (ºáóÑαΦÑ¡á, ¬«ñ óδσ«ñá...)
Éáí«Γá »α«úαá¼¼δ ºáóÑαΦÑ¡á. ÆѬßΓ »«ß½Ñ ß½«óá "code"
»αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«ñ óδσ«ñá, ó«ºóαáΘáѼδ⌐ »α«úαá¼¼«⌐
«»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS. àß½¿ »α«úαá¼¼á ¡Ñ ó«ºóαáΘáÑΓ DOS ¬á¬«ú«
-½¿í« «»αÑñѽѡ¡«ú« º¡áτÑ¡¿∩, ó¼ÑßΓ« ¬«ñá óδσ«ñá ¼«ªÑΓ
«Γ«íαáªáΓ∞ß∩ ¬á¬«ÑΓ« íÑßß¼δ߽ѡ¡«Ñ τ¿ß½«. Åα«úαá¼¼á ¡Ñ ¼«ªÑΓ íδΓ∞
ºá»πΘÑ¡á, »«¬á ¡Ñ íπñÑΓ ºáúαπªÑ¡á ºá¡«ó« ¬«¼á¡ñ«⌐ Run|Program
Reset.
Loaded (ºáúαπªÑ¡á)
éδ ºá»πßΓ¿½¿ «Γ½áñτ¿¬ Turbo Debugger, π¬áºáó ¿¼∩ »α«úαá¼¼δ ¿
»áαá¼ÑΓα, ¬«Γ«αδ⌐ »αÑñ«ΓóαáΘáÑΓ óδ»«½¡Ñ¡¿Ñ ¬«ñá ¡áτá½∞¡«⌐
ºáúαπº¬¿, ßΣ«α¼¿α«óá¡¡«ú« ¬«¼»¿½∩Γ«α«¼. ì¿¬á¬¿Ñ ¬«¼á¡ñδ ÑΘÑ ¡Ñ
í뫨 óδ»«½¡Ñ¡δ, ó¬½ετá∩ ΓÑ, ¬«Γ«αδÑ πßΓá¡áó½¿óáεΓ ßΓѬ ¿
ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ. ¥Γ« «º¡áτáÑΓ, τΓ« Ñß½¿ óδ »«»δΓáÑΓÑß∞
»α«óÑα¿Γ∞ ¬á¬¿Ñ-½¿í« ñá¡¡δÑ ó ßó«Ñ⌐ »α«úαá¼¼Ñ, óδ »«½πτ¿ΓÑ
¡Ñ»αáó¿½∞¡δÑ º¡áτÑ¡¿∩.
Step (Φáú)
üδ½á óδ»«½¡Ñ¡á «ñ¡á ßΓα«¬á ¿ßσ«ñ¡«ú« ΓѬßΓá ¿½¿ ¼áΦ¿¡¡á∩
¬«¼á¡ñá íѺ óσ«ñá ó Σπ¡¬µ¿ε ß »«¼«Θ∞ε ¬«¼á¡ñδ F8 ¿½¿
F8(Run|Step Over).
Interrupt (»αÑαóá¡á)
üδ½á ¡áªáΓá ¬½áó¿Φá »αÑαδóá¡¿∩ («íδτ¡« Ctrl-Break), τΓ«íδ
óÑα¡πΓ∞ π»αáó½Ñ¡¿Ñ «Γ½áñτ¿¬π. é φΓ«¼ ß½πτáÑ αáí«Γá »α«úαá¼¼δ
¡Ñ¼Ññ½Ñ¡¡« »αÑαδóáÑΓß∩ ¿ ß¡«óá ºá»π߬áÑΓß∩ «Γ½áñτ¿¬.
Exception_ («ß«íá∩ ß¿Γπᵿ∩)
éδ ¿ß»«½∞º«ó὿ TD386, ¬«úñá óßΓαÑΓ¿½áß∞ «ß«íá∩ ß¿Γπᵿ∩
»α«µÑßß«αá. ¥Γ« «íδτ¡« ß½πτáÑΓß∩, ¬«úñá »α«úαá¼¼ó »δΓáÑΓß∩
óδ»«½¡¿Γ∞ ¡Ññ«»πßΓ¿¼δ⌐ ñ½∩ ñá¡¡«ú« »α«µÑßß«αá ¬«ñ «»Ñαᵿ¿. é
ñ«¬π¼Ñ¡Γᵿ¿ »« »α«µÑßß«απ Intel ¬áªñá∩ «ß«íá∩ ß¿Γπᵿ∩ ½»¿ßá¡á
»«ñα«í¡«.
Hardware deviße driver stuck (¬«¡Σ½¿¬Γ ñαá⌐óÑαá á»»áαáΓ¡«ú«
πßΓα«⌐ßΓóá)
éδ ¿ß»«½∞ºπÑΓÑ á»»áαáΓ¡δ⌐ «Γ½áñτ¿¬ ¿ πßΓᡫ󿽿 á»»áαáΓ¡πε
Γ«τ¬π «ßΓá¡«óá ñ½∩ ßΓѬ«ó«⌐ »ÑαѼѡ¡«⌐, ¬«¡Σ½¿¬ΓπεΘπε ß Turbo
Debugger. ÅαѪñÑ τѼ »«⌐Γ¿ ñá½∞ΦÑ, óδ ñ«½ª¡δ πíαáΓ∞ φΓπ Γ«τ¬π
«ßΓá¡«óá.
Divide by zero (ñѽѡ¿Ñ ¡á ¡«½∞)
éáΦá »α«úαá¼¼á óδ»«½¡¿½á ¬«¼á¡ñπ ñѽѡ¿∩, ó ¬«Γ«α«⌐
óßΓαÑΓ¿½ß∩ ¡π½Ñó«⌐ ñѽ¿Γѽ∞.
Global breakpoint _ at__ (ú½«íá½∞¡á∩ Γ«τ¬á «ßΓá¡«óá _ ó _)
éßΓαÑΓ¿½áß∞ ú½«íá½∞¡á∩ Γ«τ¬á «ßΓá¡«óá. éá¼ ß««íΘÑ¡ ÑÑ ¡«¼Ñα
¿ áñαÑß ó »α«úαá¼¼Ñ).
îÑ¡ε Run
-----------------------------------------------------------------
¥Γ« ¼Ñ¡ε ß«ñÑαª¿Γ α∩ñ ¬«¼á¡ñ, »αÑñ¡áº¡áτÑ¡¡δσ ñ½∩ óδ»«½¡Ñ¡¿∩
»α«úαá¼¼δ »« τáßΓ∩¼. ū߬«½∞¬π φΓ¿ ¬«¼á¡ñδ ¿ß»«½∞ºπεΓß∩ τáßΓ«,
óßÑ «¡¿ ¼«úπΓ íδΓ∞ óδºóá¡δ ß »«¼«Θ∞ε á¬Γ¿ó¡δσ ¬½áó¿Φ.
-----------------------------
Run F9
Go to cursor F4
Trace into F7
Step over F8
Execute to... Alt-F9
Until return Alt-F8
Animate...
Back trace Alt-F4
Instruction trace Alt-F7
-----------------------------
Arguments...
Program reset Ctrl-F2
-----------------------------
諼á¡ñá Run [F9]
çá»π߬áÑΓ »α«úαá¼¼π ß ¡«α¼á½∞¡«⌐ ߬«α«ßΓ∞ε óδ»«½¡Ñ¡¿∩.
ô»αáó½Ñ¡¿Ñ ó«ºóαáΘáÑΓß∩ ¬ «Γ½áñτ¿¬π ó «ñ¡«¼ ¿º ß½ÑñπεΘ¿σ ß½πτáÑó:
- αáí«Γá »α«úαá¼¼δ ºáóÑαΦÑ¡á;
- óßΓαÑΓ¿½áß∞ Γ«τ¬á «ßΓá¡«óá ß ºáñá¡¡δ¼ ñÑ⌐ßΓó¿Ñ¼;
- óδ»«½¡Ñ¡¿Ñ »αÑαóá¡« ¡áªáΓ¿Ñ¼ ¬½áó¿Φ Ctrl-Break.
諼á¡ñá Go to Cursor [F4] -------------------------------------
éδ»«½¡∩ÑΓ »α«úαá¼¼π ñ« ßΓ᫬¿, ¡á ¬«Γ«α«⌐ ¡áσ«ñ¿Γß∩ ¬παß«α,
ó ΓѬπΘѼ «¬¡Ñ ¼«ñπ½∩ ¿½¿ »«ñ«¬¡Ñ ¬«ñá «¬¡á »α«µÑßß«αá. àß½¿
ΓѬπΘ¿¼ «¬¡«¼ ∩ó½∩ÑΓß∩ «¬¡« ¼«ñπ½∩, ¬παß«α ñ«½ªÑ¡ ¡áσ«ñ¿Γ∞ß∩ ¡á
ßΓα«¬Ñ ¿ßσ«ñ¡«ú« ΓѬßΓá ó »αÑñѽáσ ¬á¬«⌐-½¿í« Σπ¡¬µ¿¿.
諼á¡ñá Trace Into
[F7] ---------------------------------------
éδ»«½¡∩ÑΓ «ñ¡π ßΓ᫬π ¿ßσ«ñ¡«ú« ΓѬßΓá ¿½¿ ¼áΦ¿¡¡πε ¬«¼á¡ñπ.
àß½¿ ΓѬπΘ¿¼ ∩ó½∩ÑΓß∩ «¬¡« Module, Γ« óδ»«½¡∩ÑΓß∩ «ñ¡á ßΓ᫬á
¿ßσ«ñ¡«ú« ¬«ñá, «ñ¡á¬«, Ñß½¿ ΓѬπΘ¿¼ «¬¡«¼ ∩ó½∩ÑΓß∩ «¬¡«
»α«µÑßß«αá, óδ»«½¡∩ÑΓß∩ «ñ¡á ¼áΦ¿¡¡á∩ ¬«¼á¡ñá. àß½¿ ΓѬπΘá∩
ßΓ᫬á ß«ñÑαª¿Γ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, Turbo Debugger
óσ«ñ¿Γ ó φΓπ »«ñ»α«úαá¼¼π. àß½¿ ªÑ ΓѬπΘÑÑ «¬¡« - «¬¡« CPU,
óδ»«½¡∩ÑΓß∩ «ñ¡á ¼áΦ¿¡¡á∩ ¬«¼á¡ñá.
Turbo Debugger «íαáíáΓδóáÑΓ «íΩÑ¬Γ¡δÑ »αáó¿½á ¿ ¬«¼»«¡Ñ¡Γ¡δÑ
Σπ¡¬µ¿¿ ¬½áßßá ¬á¬ óßÑ »α«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. F7 óδ»«½¡∩ÑΓ
Γαáßß¿α«ó¬π ¿ßσ«ñ¡«ú« ¬«ñá, Ñß½¿ «¡ ¿¼ÑÑΓß∩.
諼á¡ñá Step Over
[F8] ----------------------------------------
éδ»«½¡∩ÑΓ «ñ¡π ßΓ᫬π ¿ßσ«ñ¡«ú« ΓѬßΓá ¿½¿ ¼áΦ¿¡¡πε ¬«¼á¡ñπ
íѺ óσ«ªñÑ¡¿∩ ó »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε. Äíδτ¡« »« φΓ«⌐ ¬«¼á¡ñÑ
óδ»«½¡∩ÑΓß∩ «ñ¡á ßΓα«¬á ¿ßσ«ñ¡«ú« ΓѬßΓá. Äñ¡á¬«, Ñß½¿ ΓѬπΘ¿¼
«¬¡«¼ ∩ó½∩ÑΓß∩ «¬¡« »α«µÑßß«αá, óδ»«½¡∩ÑΓß∩ «ñ¡á ¼áΦ¿¡¡á∩
¬«¼á¡ñá.
è«úñá »« ¬«¼á¡ñÑ Step Over óδ»«½¡∩ÑΓß∩ ßΓα«¬á ¿ßσ«ñ¡«ú«
ΓѬßΓá, ß«ñÑαªáΘá∩ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, Turbo Debugger
«íαáíáΓδóáÑΓ φëà ó맮ó ¬á¬ τáßΓ∞ ñá¡¡«⌐ ßΓ᫬¿, Γ« ÑßΓ∞
»«ñ»α«úαá¼¼á óδ»«½¡∩ÑΓß∩ ºá «ñ¿¡ Φáú «Γ½áñ¬¿, ¿ óδ ßαáºπ ªÑ
»ÑαÑσ«ñ¿ΓÑ ¬ ß½ÑñπεΘÑ⌐ ßΓα«¬Ñ ΓѬπΘÑ⌐ »«ñ»α«úαá¼¼δ, ½¿í« ¬
»«ñ»α«úαá¼¼Ñ, óδºóáóΦÑ⌐ ΓѬπΘπε.
àß½¿ »« ¬«¼á¡ñÑ Step Over óδ»«½¡∩ÑΓß∩ «ñ¡á ¼áΦ¿¡¡á∩ ¬«¼á¡ñá,
Turbo Debugger «íαáíáΓδóáÑΓ «Γñѽ∞¡δÑ ¬«¼á¡ñδ ¬á¬ Ññ¿¡πε ¬«¼á¡ñπ,
ñáªÑ Ñß½¿ «¡¿ óδºδóáεΓ óδ»«½¡Ñ¡¿Ñ ßαáºπ ¡Ñ߬«½∞¬¿σ ¬«¼á¡ñ. 쿪Ñ
»α¿óÑñÑ¡ »«½¡δ⌐ »ÑαÑτÑ¡∞ ¬«¼á¡ñ, ¬«Γ«αδÑ «íαáíáΓδóáεΓß∩
«Γ½áñτ¿¬«¼ Turbo Debugger ¬á¬ Ññ¿¡á∩ ¬«¼á¡ñá.
CALL éδº«ó »«ñ»α«úαá¼¼δ (ñá½∞¡¿⌐ ¿ í½¿ª¡¿⌐)
INT éδº«ó »«ñ»α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿∩
LOOP ô»αáó½Ñ¡¿Ñ µ¿¬½«¼ ß »«¼«Θ∞ε ßτÑΓτ¿¬á CX
LOOPZ ô»αáó½Ñ¡¿Ñ µ¿¬½«¼ ß »«¼«Θ∞ε ßτÑΓτ¿¬á CX
LOOPNZ ô»αáó½Ñ¡¿Ñ µ¿¬½«¼ ß »«¼«Θ∞ε ßτÑΓτ¿¬á CX
èα«¼Ñ π¬áºá¡¡δσ ºá «ñ¿¡ Φáú «Γ½áñ¬¿ óδ»«½¡∩εΓß∩ ¬«¼á¡ñδ REP,
REPNZ ¿ REPZ, ºá ¬«Γ«α묨 ß½ÑñπεΓ ¬«¼á¡ñδ CMPS, CMPSB, CMPSW,
LODSB, LODSW, MOVS, MOVSB, MOVSW, SCAS, SCASB, SCASW, STOS,
STOSB, STOSW.
Turbo Debugger «íαáíáΓδóáÑΓ «íΩÑ¬Γ¡δÑ »αáó¿½á ¿ ¬«¼»«¡Ñ¡Γ¡δÑ
Σπ¡¬µ¿¿ ¬½áßßá ¬á¬ «ñ¿¡ «»ÑαáΓ«α ¿ «íσ«ñ¿Γ ¿σ, ¬á¬ «íδτ¡δÑ ó맮óδ
»α«µÑñπα ¿ Σπ¡¬µ¿⌐.
諼á¡ñá Execute To...
[Alt-F9] ---------------------------------
éδ»«½¡∩ÑΓ »α«úαá¼¼π ñ« ¬«¼á¡ñδ, áñαÑß ¬«Γ«α«⌐ íδ½ π¬áºá¡ ó
í½«¬Ñ ñ¿á½«úá. Éáí«Γá »α«úαá¼¼δ ¼«ªÑΓ íδΓ∞ «ßΓá¡«ó½Ñ¡á ¿ ñ« φΓ«ú«
áñαÑßá, Ñß½¿ óßΓαÑΓ¿Γß∩ Γ«τ¬á «ßΓá¡«óá ¿½¿ »«½∞º«óáΓѽѼ í뫨
¡áªáΓδ «»αÑñѽѡ¡δÑ ¬½áó¿Φ¿.
諼á¡ñá Until Return
[Alt-F8] ---------------------------------
éδ»«½¡∩ÑΓ »α«úαá¼¼π ñ« ó«ºóαáΓá ¿º ΓѬπΘÑ⌐ Σπ¡¬µ¿¿ ó
óδºóáóΦπε ÑÑ »«ñ»α«úαá¼¼π. ¥Γá ¬«¼á¡ñá »«½Ñº¡á ó ñóπσ ß½πτá∩σ:
Ñß½¿ óδ ó«Φ½¿ ó »«ñ»α«úαá¼¼π, αáí«Γá ¬«Γ«α«⌐ óáß ¡Ñ ¿¡ΓÑαÑßπÑΓ,
ß½πτá⌐¡« óδ»«½¡¿ó ¬«¼á¡ñπ Run/Trace ó¼ÑßΓ« ¬«¼á¡ñδ
Run/Step, ½¿í« Ñß½¿ óδ πªÑ «»αÑñѽ¿½¿, τΓ« ñá¡¡á∩
»«ñ»α«úαá¼¼á αáí«ΓáÑΓ »αáó¿½∞¡« ¿ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ñá½∞ΦÑ
«Γ߽Ѫ¿óáΓ∞ ÑÑ óδ»«½¡Ñ¡¿Ñ ó »«Φáú«ó«¼ αѪ¿¼Ñ.
諼á¡ñá Animate
[Alt-F4] --------------------------------------
éδ»«½¡∩ÑΓ ¡Ñ»αÑαδó¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¬«¼á¡ñ Trace into,
«í¡«ó½∩∩ ß«ñÑন¼«Ñ φ¬αá¡á »«ß½Ñ óδ»«½¡Ñ¡¿∩ ¬áªñ«⌐ ¿º ¡¿σ
(óδú½∩ñ¿Γ ¬á¬ ºá¼Ññ½Ñ¡¡«Ñ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ). ¥Γ« »«ºó«½∩ÑΓ
»«½∞º«óáΓÑ½ε ¬«¡Γα«½¿α«óáΓ∞ ΓѬπΘÑÑ »«½«ªÑ¡¿Ñ ó »α«úαá¼¼Ñ ¿
ß½Ññ¿Γ∞ ºá ¿º¼Ñ¡Ñ¡¿Ñ¼ º¡áτÑ¡¿⌐ »ÑαѼѡ¡δσ. éδ»«½¡Ñ¡¿Ñ φΓ«⌐
¬«¼á¡ñδ ¼«ª¡« »αÑαóáΓ∞, ¡áªáó ½εíπε ¬½áó¿Φπ.
Å«ß½Ñ óδí«αá Run|Animate «Γ½áñτ¿¬ ºá»α«ß¿Γ π óáß óαѼ∩
ºáñÑ᪬¿ ¼Ñªñπ »«ß½Ññ«óáΓѽ∞¡δ¼¿ ΦáúἿ Γαáßß¿α«ó¬¿. éαѼ∩
ºáñÑ᪬¿ ¿º¼Ñα∩ÑΓß∩ ó ñÑß∩Γδσ ñ«½∩σ ßѬπ¡ñδ. Å« π¼«½τá¡¿ε
¿ß»«½∞ºπÑΓß∩ ºáñÑ᪬á αáó¡á∩ 3.
諼á¡ñá Back Trace
[Alt-F4] -----------------------------------
Åα¿ Γαáßß¿α«ó¬Ñ »α«úαá¼¼δ (»α¿ »«¼«Θ¿ F8 ¿½¿ Alt-F8)
¿º¼Ñ¡∩ÑΓ »«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ ¡á «íαáΓ¡δ⌐. ¥Γ« πñ«í¡«, Ñß½¿ »α¿
«Γ½áñ¬Ñ óδ ºáΦ½¿ ºá Γπ Γ½τ¬π, ó ¬«Γ«α«⌐ »αÑñ»«½áúáÑΓÑ «Φ¿í¬π ¿
σ«Γ¿ΓÑ óÑα¡πΓ∞ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¡áºáñ. ¥Γá ¬«¼á¡ñá »«ºó«½∩ÑΓ
ó«ºóαáΓ¿Γ∞ß∩ ¡áºáñ ½¿í« »« Φáúá¼, ½¿í« ßαáºπ ¬ ºáñá¡¡«⌐ ¿«τ¬Ñ,
óδßóÑτÑ¡¡«⌐ ó »«ñ«¬¡Ñ Instructions ¿½¿ «¬¡Ñ Execution History.
ÅαÑñπ»αѪñÑ¡¿Ñ! ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« «úαá¡¿τÑ¡¿⌐. æ¼. αáºñѽ
"Å«ñ«¬¡« Instructions".
諼á¡ñá Instruction Trace [Alt-F7]
æ½πª¿Γ ñ½∩ óδ»«½¡Ñ¡¿∩ «ñ¡«⌐ ¼áΦ¿¡¡«⌐ ¬«¼á¡ñδ. êß»«½∞ºπÑΓß∩
ñ½∩ Γαáßß¿α«ó¬¿ »αÑαδóá¡¿⌐, ½¿í« ¬«úñá óδ ¡áσ«ñ¿ΓÑß∞ ó «¬¡Ñ
Module ¿ σ«Γ¿ΓÑ Γαáßß¿α«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε, ¡áσ«ñ∩Θπεß∩ ó
¼«ñπ½Ñ, ó ¬«Γ«αδ⌐ ¡Ñ ó¬½ετÑ¡á «Γ½áñ«τ¡á∩ ¿¡Σ«α¼áµ¿∩ (¡á»α¿¼Ñα,
í¿í½¿«ΓÑτ¡á∩ Σπ¡¬µ¿∩).
ū߬«½∞¬π óδ ¡Ñ íπñÑΓÑ »«»áñáΓ∞ ó ¡áτὫ ¿ßσ«ñ¡«⌐ ßΓ᫬¿,
φΓá ¬«¼á¡ñá «íδτ¡« »«¼ÑΘáÑΓ óáß ó «¬¡« CPU.
諼á¡ñá Arguments...
äá¡¡á∩ ¬«¼á¡ñá »«ºó«½∩ÑΓ πßΓá¡áó½¿óáΓ∞ ¡«óδÑ áαúπ¼Ñ¡Γδ
¬«¼á¡ñ¡«⌐ ßΓ᫬¿ »α¿ ó맮óÑ »α«úαá¼¼δ. ¥Γ« í«½ÑÑ »«ñα«í¡«
αáßß¼áΓα¿óáÑΓß∩ ó ú½áóÑ 5.
諼á¡ñá Program Reset
[Ctrl-F2] -------------------------------
çá¡«ó« ºáúαπªáÑΓ «Γ½áª¿óáѼπε »α«úαá¼¼π ß ñ¿ß¬á. êß»«½∞ºπ⌐ΓÑ
φΓ𠬫¼á¡ñπ ó Γ«¼ ß½πτáÑ, Ñß½¿ óδ»«½¡∩∩ »α«úαá¼¼π, óδ »α«»πßΓ¿½¿
¼ÑßΓ«, úñÑ ¡áσ«ñ¿Γß∩ «Φ¿í¬á.
àß½¿ óδ αáí«ΓáÑΓÑ ó «¬¡Ñ ¼«ñπ½∩ ¿½¿ «¬¡Ñ »α«µÑßß«αá, Γ« óδ
¡Ñ íπñÑΓÑ ó«ºóαáΘáΓ∞ß∩ ó ¡áτὫ ßó«Ñ⌐ »α«úαá¼¼δ. é¼ÑßΓ« φΓ«ú«, óδ
«ßΓá¡ÑΓÑß∞ Γ«τ¡« ó Γ«¼ ªÑ ¼ÑßΓÑ, ó ¬«Γ«α«¼ óδ í뫨 ñ« óδ»«½¡Ñ¡¿∩
¬«¼á¡ñδ Program Reset. àß½¿ óδ óδí¿αáÑΓÑ ¬«¼á¡ñπ Program Reset
Γ«½∞¬« ¿º-ºá Γ«ú«, τΓ« óδ óδ»«½¡¿½¿ ¡á «ñ¿¡ «»ÑαáΓ«α í«½∞ΦÑ, τѼ
¡á¼ÑαÑó὿ß∞, óδ ¼«ªÑΓÑ »ÑαѼÑßΓ¿Γ∞ ¬παß«α ¡á ¡Ñ߬«½∞¬« ßΓ᫬
¿ßσ«ñ¡«ú« ΓѬßΓá óóÑασ ¿ ¡áªáΓ∞ ¬½áó¿Φπ F4 ¿½¿ óδíαáΓ∞ Run|Back
Trace, τΓ«íδ óδ»«½¡¿Γ∞ »α«úαá¼¼π ñ« φΓ«⌐ ßΓ᫬¿, ó¼ÑßΓ« Program
Reset.
Ĭ¡« Execution History (¿ßΓ«α¿¿ óδ»«½¡Ñ¡¿∩)
-----------------------------------------------------------------
Turbo Debugger ¿¼ÑÑΓ ß»Ñµ¿á½∞¡«Ñ ßαÑñßΓó«, ¡áºδóáѼ«Ñ
¿ßΓ«α¿Ñ⌐ óδ»«½¡Ñ¡¿∩, »«ºó«½∩εΘÑÑ ºá»«¼¿¡áΓ∞ ¬«¼á¡ñδ »« ¼ÑαÑ ¿σ
óδ»«½¡Ñ¡¿∩ (»α¿ πß½«ó¿¿, τΓ« óδ Γαáßß¿απÑΓÑ ¬«ñ), á ΓᬪÑ, »α¿
ªÑ½á¡¿¿, ºá»¿ßδóáΓ∞ óó«ñ¿¼δÑ óἿ ¡áªáΓ¿∩ ¬½áó¿Φ, »α¿ »«¼«Θ¿
¬«Γ«αδσ óδ »α¿σ«ñ¿ΓÑ ¬ Γ«⌐ ¿½¿ ¿¡«⌐ Γ«τ¬Ñ »α«úαá¼¼δ. éδ ¼«ªÑΓÑ
¿ºπτáΓ∞ φΓ¿ ¬«¼á¡ñδ ¿ «Γ¼Ñ¡∩Γ∞ ¿σ ñÑ⌐ßΓó¿Ñ, ó«ºóαáΘá∩ß∞ ó Γ«τ¬π
óÑα«∩Γ¡«⌐ «Φ¿í¬¿. àß½¿ π ¡ÑΓ EMS-»á¼∩Γ¿, Turbo Debugger ¼«ªÑΓ
ºá»¿ßáΓ∞ ñ« 400 ¬«¼á¡ñ. Åα¿ ¡á½¿τ¿¿ EMS-»á¼∩Γ¿ ¼«ª¡« ºá»¿ßáΓ∞ ñ«
3000 ¬«¼á¡ñ.
éδ ¼«ªÑΓÑ ¿ºπτáΓ∞ ¿ßΓ«α¿ε óδ»«½¡Ñ¡¿∩ ó «¬¡Ñ Execution
History, ¬«Γ«α«Ñ «Γ¬αδóáÑΓß∩ »α¿ óδí«αÑ View|Execution History.
¥Γ« «¬¡« ¿¼ÑÑΓ ñóá »«ñ«¬¡á: »«ñ«¬¡« Instructions óóÑασπ ¿
»«ñ«¬¡« Keystroke Recording ó ¡¿ª¡Ñ⌐ τáßΓ¿ φ¬αá¡á.
Å«ñ«¬¡« Instructions
Å«ñ«¬¡« Instructions »«¬áºδóáÑΓ πªÑ óδ»«½¡Ñ¡¡δÑ ¬«¼á¡ñδ,
¬«Γ«αδÑ óδ ¼«ªÑΓÑ ¿ºπτáΓ∞ ¿½¿ «Γ¼Ñ¡∩Γ∞ ¿σ ñÑ⌐ßΓó¿Ñ. ä½∩ Γ«ú«,
τΓ«íδ óδ»«½¡¿Γ∞ óδí«α, ¿ß»«½∞ºπÑΓß∩ óδßóÑτÑ¡¡á∩ ½¿¡Ñ⌐¬á.
êßΓ«α¿∩ óδ»«½¡Ñ¡¿∩ »«ºó«½∩ÑΓ «Γ߽Ѫ¿óáΓ∞ Γ«½∞¬« ΓÑ ¬«¼á¡ñδ,
τΓ« í뫨 óδ»«½¡Ñ¡δ »« ¬«¼á¡ñÑ Trace Into (F7) ¿½¿ Instruction
Trace (Alt-F7). ÄΓ߽Ѫ¿óá¡¿Ñ óδ»«½¡∩ÑΓß∩ Γá¬ªÑ ñ½∩ ¬«¼á¡ñδ Step
Over, ºá ¿ß¬½ετÑ¡¿Ñ¼ ¬«¼á¡ñ, «»¿ßá¡¡δσ ¡á ßΓα.84 «α¿ú¿¡á½á. Åα¿
¿ß»«½∞º«óá¡¿¿ ¬«¼á¡ñδ Run ¿½¿ »α¿ óδ»«½¡Ñ¡¿¿ »αÑαδóá¡¿∩ ¿ßΓ«α¿∩
óδ»«½¡Ñ¡¿∩ πñá½∩ÑΓß∩. (àÑ ºá»¿ß∞ ó«º«í¡«ó½∩ÑΓß∩, ¬á¬ Γ«½∞¬« óδ
ó«º«í¡«ó½∩ÑΓÑ Γαáßß¿α«ó¬π).
ÄíαáΓ¡á∩ Γαáßß¿α«ó¬á ó맮óá »αÑαδóá¡¿∩ ¡Ñ󫺼«ª¡á.
Åα¿ «íσ«ñÑ ó맮óá »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ «íαáΓ¡á∩ Γαáßß¿α«ó¬á
ºá »αÑñÑ½δ ¬«¼á¡ñδ, αáß»«½«ªÑ¡¡«⌐ »«ß½Ñ ó«ºóαáΓá, ¡Ñ󫺼«ª¡«.
ÄíαáΓ¡á∩ Γαáßß¿α«ó¬á τÑαѺ ¬«¼á¡ñδ, αáí«ΓáεΘ¿Ñ ß »«αΓ«¼,
¡Ñ󫺼«ª¡á, »«ß¬«½∞¬π óδ ¡Ñ ¼«ªÑΓÑ «Γ¼Ñ¡¿Γ∞ «»Ñαᵿ¿ ºá»¿ß¿ ¿
τΓÑ¡¿∩.
﫬á½∞¡«Ñ ¼Ñ¡ε »«ñ«¬¡á Instructions
-----------------------------------
-------------------
Inspect
Reverse execute
-------------------
Full history Yes
-------------------
﫬á½∞¡«Ñ ¼Ñ¡ε »«ñ«¬¡á Instructions ß«ñÑαª¿Γ Γα¿ ¬«¼á¡ñδ:
諼á¡ñá Inspect
---------------
äá¡¡á∩ ¬«¼á¡ñá »ÑαѼÑΘáÑΓ óáß ¬ ¬«¼á¡ñÑ, óδßóÑτÑ¡¡«⌐ ó
»«ñ«¬¡Ñ Instructions. àß½¿ φΓ« ßΓα«¬á ¿ßσ«ñ¡«ú« ¬«ñá, Γ« «¡á
»«¬áºá¡á óá¼ ó «¬¡Ñ Module; Ñß½¿ ¿ßσ«ñ¡«ú« ¬«ñá ¡ÑΓ, Γ«
«Γ¬αδóáÑΓß∩ «¬¡« CPU, ß ¬«¼á¡ñἿ, óδßóÑτÑ¡¡δ¼¿ ó »«ñ«¬¡Ñ Code.
諼á¡ñá Full History
(éδ»«½¡Ñ¡¿Ñ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿)
-----------------------------------
äá¡¡á∩ ¬«¼á¡ñá αÑóÑαß¿απÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¬ Γ«τ¬Ñ,
óδßóÑτÑ¡¡«⌐ ó »«ñ«¬¡Ñ Instructions. àß½¿ óδ óδíα὿ ßΓ᫬π
¿ßσ«ñ¡«ú« ¬«ñá, Γ« óδ óÑα¡ÑΓÑß∞ ó «¬¡« Module; ó »α«Γ¿ó¡«¼ ß½πτáÑ
»«∩ó½∩ÑΓß∩ «¬¡« CPU ß óδßóÑτÑ¡¡«⌐ ½¿¡Ñ⌐¬«⌐ ó »«ñ«¬¡Ñ Code,
πßΓá¡«ó½Ñ¡¡«⌐ ó »«º¿µ¿¿ ¬«¼á¡ñδ.
ÅαÑñπ»αѪñÑ¡¿Ñ! ÄíαáΓ¡«Ñ óδ»«½¡Ñ¡¿Ñ »« τáßΓ¿ »α«úαá¼¼µδ, »«
¬«Γ«α«⌐ ¡Ñ í佫 »α∩¼«ú« óδ»«½¡Ñ¡¿∩, ¡Ñ󫺼«ª¡«. ìá»α¿¼Ñα, Ñß½¿ óδ
πßΓᡫ󿽿 Γ«τ¬π «ßΓá¡«óá ¿ ¡áªá½¿ F9 ñ½∩ óδ»«½¡Ñ¡¿∩ ñ« φΓ«⌐
Γ«τ¬¿, ¿ßΓ«α¿∩ óδ»«½¡Ñ¡¿∩ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿ íπñÑΓ »«ΓÑα∩¡á.
é φΓ«¼ ß½πτáÑ, Ñß½¿ óδ ªÑ½áÑΓÑ ó«ßßΓá¡«ó¿Γ∞ »αÑñδñπΘÑÑ ß«ßΓ«∩¡¿Ñ,
óδ ¼«ªÑΓÑ ó«ß»«½∞º«óáΓ∞ß∩ ßαÑñßΓó«¼ ó«ß»α«¿ºóÑñÑ¡¿∩ ¡áªáΓ¿⌐
¬½áó¿Φ «¬¡á Execution History, τΓ«íδ »ÑαѺáúαπº¿Γ∞ óáΦπ »α«úαá¼¼π
¿ óδ»«½¡¿Γ∞ ÑÑ ó »α∩¼«¼ ¡á»αáó½Ñ¡¿¿ ñ« ñá¡¡«⌐ Γ«τ¬¿.
ÅαÑñπ»αѪñÑ¡¿Ñ! 諼á¡ñá INT »α¿ó«ñ¿Γ ¬ »«ΓÑαÑ »αÑñδñπΘÑ⌐
¿ßΓ«α¿¿ óδ»«½¡Ñ¡¿∩. éδ»«½¡Ñ¡¿Ñ ¬«¼á¡ñ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿
»«ß½Ñ ñá¡¡«⌐ ¬«¼á¡ñδ ¡Ñ󫺼«ª¡«, Ñß½¿ ¡Ñ í뫨 ¡áªáΓδ ¬½áó¿Φ¿ Alt-
F7 ñ½∩ Γαáßß¿α«ó¬¿ »αÑαδóá¡¿∩.
æ½ÑñπεΘ¿Ñ ¬«¼á¡ñδ ¡Ñ »α¿ó«ñ∩Γ ¬ »«ΓÑαÑ ¿ßΓ«α¿¿ óδ»«½¡Ñ¡¿∩,
¡« «Γ¼Ñ¡á ¿σ ñÑ⌐ßΓó¿∩ ¡Ñ󫺼«ª¡á. Åα¿ ¿σ ¿ß»«½∞º«óá¡¿¿ 󫺼«ª¡δ
¡Ñ«ª¿ñá¡¡δÑ »«í«τ¡δÑ φΣΣѬΓδ:
IN INSW
OUT OUTSB
INSB OUTSW
諼á¡ñá Full History
-------------------------------------
äá¡¡á∩ ¬«¼á¡ñá αáí«ΓáÑΓ ¬á¬ »ÑαѬ½ετáΓѽ∞ ó¬½/ó䬽. àß½¿ «¡á
πßΓá¡«ó½Ñ¡á ó »«½«ªÑ¡¿Ñ On, Γ« «íαáΓ¡á∩ Γαáßß¿α«ó¬á ó¬½ετÑ¡á, ó
á»α«Γ¿ó¡«¼ ß½πτáÑ - ó䬽ετÑ¡á.
Å«ñ«¬¡« Keystroke Recording
(ºá»¿ß∞ ¡áªáΓ¿⌐ ¬½áó¿Φ) -----------
äáªÑ »α¿ ¡Ñ¡á¼ÑαÑ¡¡«¼ π¡¿τΓ«ªÑ¡¿¿ ¿ßΓ«α¿¿ óδ»«½¡Ñ¡¿∩ óδ ΓѼ
¡Ñ ¼Ñ¡ÑÑ ¼«ªÑΓÑ »«óΓ«α¿Γ∞ óδ»«½¡Ñ¡¿Ñ «Γ½áñ¬¿ ñ« ñá¡¡«⌐ Γ«τ¬¿
»α«úαá¼¼δ, ¬ß½¿ ó¬½ετÑ¡« ßαÑñßΓó« ºá»¿ß¿ ¡áªáΓ¿⌐ ¬½áó¿Φ.
çỿß∞ ¡áªáΓ¿⌐ ¬½áó¿Φ αáí«ΓáÑΓ ó ß«τÑΓá¡¿¿ ß« ßαÑñßΓó«¼
«íαáΓ¡«ú« óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ, »αÑñ«ßΓáó½∩∩ αạ««íαạδÑ
ß»«ß«íδ ó«ßßΓá¡«ó½Ñ¡¿∩ ¡πª¡«⌐ Γ«τ¬¿ «Γ½áñ¬¿. çỿßδóáεΓß∩ óßÑ
¡áªáΓ¿∩ ¬½áó¿Φ, ¬á¬ ΓÑ, τΓ« «Γ¡«ß∩Γß∩ ¬ π»αáó½Ñ¡¿ε Turbo
Debugger, Γᬠ¿ ∩ó½∩εΘ¿Ñß∩ αÑᬵ¿Ñ⌐ ¡á ñÑ⌐ßΓó¿∩ «Γ½áª¿óáѼ«⌐
»α«úαá¼¼δ. ìáªáΓ¿∩ ¬½áó¿Φ ºá»¿ßδóáεΓß∩ ó Σá⌐½ ¿¼∩_»α«úαá¼¼δ.TDK,
úñÑ ¿¼∩_»α«úαá¼¼δ - φΓ« ¿¼∩ «Γ½áª¿óáѼ«⌐ »α«úαá¼¼δ.
쿪¡ÑÑ »«ñ«¬¡« «¬¡á Execution History ¿ß»«½∞ºπÑΓß∩ ñ½∩
ó«ß»α«¿ºóÑñÑ¡¿∩ ¡áªáΓ¿⌐ ¬½áó¿Φ ¿ ó«ßßΓá¡«ó½Ñ¡¿∩ Γ«τ¬¿ ßÑá¡ßá
«Γ½áñ¬¿. èáªñá∩ ßΓ᫬á ó ß»¿ß¬Ñ ¿ßΓ«α¿¿ óδ»«½¡Ñ¡¿∩ »«¬áºδóáÑΓ
»α¿τ¿¡π, »« ¬«Γ«α«⌐ Turbo Debugger »α¿Φ½«ß∞ óº∩Γ∞ π»αáó½Ñ¡¿Ñ
(Γ«τ¬á «ßΓá¡«óá, Γαáßß¿α«ó¬á ¿ Γ.ñ.) ¿ ΓѬπΘπε »«º¿µ¿ε ó ¿ßσ«ñ¡«⌐
»α«úαá¼¼Ñ ó φëà ¼«¼Ñ¡Γ. àß½¿ áñαÑß »α«úαá¼¼δ ß««ΓóÑΓßΓóπÑΓ
ßΓα«¬Ñ ¿ßσ«ñ¡«ú« ¬«ñá, Γ« íπñÑΓ óδóÑñÑ¡á φΓá ßΓ᫬á. é »α«Γ¿ó¡«¼
ß½πτáÑ ¬«¼á¡ñá »« φΓ«¼π áñαÑßπ ñ¿ºáßßÑ¼í½¿απÑΓß∩.
Åáαá¼ÑΓα ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ -k ó¬½ετáÑΓ ºá»¿ß∞ ¡áªáΓ¿⌐ ¬½áó¿Φ.
(æ¼. ßΓα.65 «α¿ú¿¡á½á). éδ Γá¬ªÑ ¼«ªÑΓÑ πßΓá¡«ó¿Γ∞
ß««ΓóÑΓßΓóπεΘÑÑ π¼«½τá¡¿Ñ »α¿ »«¼«Θ¿ TDINST.
﫬á½∞¡«Ñ ¼Ñ¡ε »«ñ«¬¡á Keystroke Recording
------------------------------------------
﫬á½∞¡«Ñ ¼Ñ¡ε »«ñ«¬¡á Keystroke Recording ß«ñÑαª¿Γ ñóÑ
¬«¼á¡ñδ: Inspect ¿ Keystroke Restore.
------------------
Inspect
Keystroke restore
------------------
諼á¡ñá Inspect
---------------
àß½¿ óδ óδßóÑΓ¿½¿ ßΓ᫬π ó »«ñ«¬¡Ñ Keystroke Recording, á
ºáΓѼ óδíα὿ ó ½«¬á½∞¡«¼ ¼Ñ¡ε ¬«¼á¡ñπ Inspect, Γ« »«∩ó½∩ÑΓß∩
«¬¡« Module ß ¬παß«α«¼ ó Γ«⌐ ßΓα«¬Ñ ¿ßσ«ñ¡«ú« ¬«ñá, úñÑ »α«¿º«Φ½«
¡áªáΓ¿Ñ ¬½áó¿Φ¿.
àß½¿ ñá¡¡á∩ ßΓα«¬á ¡Ñ ß««ΓóÑΓßΓóπÑΓ »«º¿µ¿¿ ó ¿ßσ«ñ¡«¼ ¬«ñÑ,
Γ« «Γ¬αδóáÑΓß∩ «¬¡« CPU ß óδßóÑτÑ¡¡«⌐ »«º¿µ¿Ñ⌐ ¬«¼á¡ñδ.
諼á¡ñá Keystroke Restore
-------------------------
àß½¿ óδ óδßóÑΓ¿½¿ ßΓ᫬π ó »«ñ«¬¡Ñ Keystroke Recording, ¿
óδíα὿ ¬«¼á¡ñπ Keystroke Restore, Turbo Debugger »«óΓ«α¡«
ºáúαπº¿Γ ñá¡¡πε »α«úαá¼¼π ¿ óδ»«½¡¿Γ ¿σ ñ« óδßóÑτÑ¡¡«ú«
¬«¡ΓѬßΓá. ¥Γ« «ß«íÑ¡¡« »«½Ñº¡«, Ñß½¿ óδ óδ»«½¡¿½¿ ¬«¼á¡ñπ Turbo
Debugger, πñ὿óΦπε ¿ßΓ«α¿ε óδ»«½¡Ñ¡¿∩.
ÅαÑαδóá¡¿Ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ
-----------------------------------------------------------------
Åα¿ «Γ½áñ¬Ñ »α«úαá¼¼, αáí«ΓáεΘ¿σ ó ¿¡ΓÑαá¬Γ¿ó¡«¼ αѪ¿¼Ñ, ñ½∩
Γ«ú« τΓ«íδ óδ»«½¡¿Γ∞ »α«úαá¼¼π ñ« «»αÑñѽѡ¡«ú« ¼ÑßΓá, ¿¡«úñá
»α«ΘÑ óßÑú« íδóáÑΓ ºá»πßΓ¿Γ∞ »α«úαá¼¼π, óδ»«½¡¿Γ∞ ÑÑ ñ« Γ«ú«
¼ÑßΓá, ß ¬«Γ«α«ú« ªÑ½áΓѽ∞¡« ¡áτáΓ∞ »α«óÑα¬π, á ºáΓѼ »αÑαóáΓ∞ ÑÑ
αáí«Γπ. ¥Γ« íδóáÑΓ «ß«íÑ¡¡« πñ«í¡« ó ΓÑσ ß½πτá∩σ, ¬«úñá Σαáú¼Ñ¡Γ
»α«úαá¼¼δ, ¬«Γ«αδ⌐ ¡Ñ«íσ«ñ¿¼« »α«óÑα¿Γ∞, óδºδóáÑΓß∩ ¡Ñ߬«½∞¬«
αáº, »αѪñÑ τѼ «¡ íπñÑΓ »αÑñßΓáó½∩Γ∞ ñ½∩ óáß «»αÑñѽѡ¡δ⌐
¿¡ΓÑαÑß.
èα«¼Ñ Γ«ú«, »αÑαóáΓ∞ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¼«ªÑΓ
»«ΓαÑí«óáΓ∞ß∩ ó Γ«¼ ß½πτáÑ, Ñß½¿ »« ¬á¬«⌐-Γ« ¡Ñ»«¡∩Γ¡«⌐ »α¿τ¿¡Ñ
π»αáó½Ñ¡¿Ñ ¡Ñ ó«ºóαáΘáÑΓß∩ «Γ½áñτ¿¬π. ¥Γ« ¼«ªÑΓ »α«¿º«⌐Γ¿ ó Γ«¼
ß½πτáÑ, ¬«úñá óδ»«½¡∩Ѽδ⌐ Σαáú¼Ñ¡Γ ¬«ñá ß«ñÑαª¿Γ íÑ߬«¡Ñτ¡δ⌐
µ¿¬½: óδ πßΓᡫ󿽿 »«ß½Ñ φΓ«ú« Σαáú¼Ñ¡Γá Γ«τ¬π «ßΓá¡«óá ¿ ªñÑΓÑ,
¬«úñá «¡ íπñÑΓ óδ»«½¡Ñ¡, ¡« φΓá Γ«τ¬á «ßΓá¡«óá ¡¿¬«úñá ¡Ñ íπñÑΓ
ñ«ßΓ¿ú¡πΓá.
è½áó¿Φ¿ Ctrl-Break
ìáªáΓ¿Ñ φΓ«⌐ ¬«¼í¿¡áµ¿¿ ¬½áó¿Φ »αá¬Γ¿τÑ߬¿ óßÑúñá »αÑαδóáÑΓ
óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ «Γ½áñτ¿¬π. Éáí«Γá
»α«úαá¼¼δ »αÑαδóáÑΓß∩ ßαáºπ ªÑ »«ß½Ñ ¡áªáΓ¿∩ φΓ¿σ ¬½áó¿Φ, »«φΓ«¼π
¿¡«úñá ¼«ªÑΓ »«¬áºáΓ∞ß∩, τΓ« óδ»«½¡∩ÑΓß∩ ¡Ñ«ª¿ñá¡¡δ⌐ Σαáú¼Ñ¡Γ
»α«úαá¼¼δ. ìá»α¿¼Ñα, φΓ« ¼«ªÑΓ íδΓ∞ »«ñ»α«úαá¼¼á «íαáí«Γ¬¿ óó«ñá
ß ¬½áó¿áΓπαδ BIOS, ¿½¿ ¬«¼á¡ñá ¿º óδ»«½¡∩Ѽ«ú« ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ
µ¿¬½á. ìáªáΓ¿Ñ ¬½áó¿Φ Ctrl-Break ¡Ñ ¼«ªÑΓ »αÑαóáΓ∞ óδ»«½¡Ñ¡¿Ñ
»α«úαá¼¼δ ó ß½ÑñπεΘ¿σ ñóπσ ß½πτá∩σ (ó φΓ¿σ ß½πτá∩σ óá¼ »α¿ñÑΓß∩
»ÑαѺáúπ২Γ∞ ßó«ε ß¿ßΓѼπ):
- »α«úαá¼¼á ºáµ¿¬½¿½áß∞ ó αѪ¿¼Ñ, ¬«úñá ºá»αÑΘÑ¡δ
»αÑαδóá¡¿∩;
- ó αѺπ½∞ΓáΓÑ «Φ¿í¬¿ ó »α«úαá¼¼Ñ »α«¿º«Φѽ ΣáΓá½∞¡δ⌐ ßí«⌐
ß¿ßΓѼδ.
àß½¿ óδ «Γ½áª¿óáÑΓÑ »α«úαá¼¼π, ¬«Γ«α«⌐ ßἫ⌐ ΓαÑíπÑΓß∩
αÑáú¿α«óáΓ∞ ¡á ¬½áó¿Φ¿ ætrl-Break, óδ ¼«ªÑΓÑ ¡áº¡áτ¿Γ∞ ñαπúπε
¬½áó¿Φπ »αÑαδóá¡¿∩. ä½∩ φΓ«ú« ¡áñ« ó«ß»«½∞º«óáΓ∞ß∩ »α«úαá¼¼«⌐
TDINST. è½áó¿ΦÑ⌐ »αÑαδóá¡¿∩ ¼«ª¡« ¡áº¡áτ¿Γ∞ ½εíπε ¬«¼í¿¡áµ¿ε
¬½áó¿Φ.
çáóÑαΦÑ¡¿Ñ αáí«Γδ »α«úαá¼¼δ
-----------------------------------------------------------------
è«úñá óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ºáóÑαΦáÑΓß∩ ¿ »α«¿ßσ«ñ¿Γ ó«ºóαáΓ
ó DOS, π»αáó½Ñ¡¿Ñ ß¡«óá »ÑαÑñáÑΓß∩ «Γ½áñτ¿¬π. Ä¡ óδñáÑΓ
ß««íΘÑ¡¿Ñ, »«¬áºδóáεΘÑÑ ¬«ñ óδσ«ñá, ¬«Γ«αδ⌐ ó«ºóαáΘáÑΓß∩ DOS.
Å«ß½Ñ Γ«ú«, ¬á¬ αáí«Γá »α«úαá¼¼δ ºáóÑαΦ¿½áß∞, óδ ¡Ñ ¼«ªÑΓÑ
óδ»«½¡¿Γ∞ ¡¿ «ñ¡π ¿º ¬«¼á¡ñ ¼Ñ¡ε Run, »«¬á ¡Ñ ºáúαπº¿ΓÑ »α«úαá¼¼π
ºá¡«ó« ß »«¼«Θ∞ε ¬«¼á¡ñδ Run/Program Reset.
Äíδτ¡« »«ß½Ñ ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ
¿ ßΓѬ ß«ñÑαªáΓ ¡Ñ»αáó¿½∞¡πε ¿¡Σ«α¼áµ¿ε, »«φΓ«¼π ¡ÑΓ ß¼δß½á
»α«óÑα∩Γ∞ ¿½¿ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¬á¬¿Ñ-½¿í« »ÑαѼѡ¡δÑ »α«úαá¼¼δ
»«ß½Ñ «¬«¡τá¡¿∩ ÑÑ óδ»«½¡Ñ¡¿∩.
髺«í¡«ó½Ñ¡¿Ñ ßÑá¡ßá «Γ½áñ¬¿
-----------------------------------------------------------------
Turbo Debugger «í½áñáÑΓ α∩ñ«¼ 󫺼«ª¡«ßΓÑ⌐, ¬«Γ«αδÑ ñѽáεΓ
ó«º«í¡«ó½Ñ¡¿Ñ ßÑá¡ßá «Γ½áñ¬¿ ß«óÑαΦÑ¡¡« íÑºí«½Ñº¡Ñ¡¡«⌐
»α«µÑñπα«⌐. Åα¿ «Γ½áñ¬Ñ »α«úαá¼¼δ ñ«ßΓáΓ«τ¡« »α«ñó¿¡πΓ∞ß∩ τπΓ∞
ñá½∞ΦÑ, τѼ ¡πª¡«, τΓ«íδ »α«»πßΓ¿Γ∞ «Φ¿í¬π. àñ¿¡ßΓóÑ¡¡«Ñ, τΓ«
¼«ª¡« »«ß½Ñ φΓ«ú« ßñѽáΓ∞, φΓ« »ÑαѺá»πßΓ¿Γ∞ «Γ½áñ¬π, ¡«
»α¿«ßΓá¡«ó¿Γ∞ αáí«Γπ »α«úαá¼¼δ »ÑαÑñ ¬«¼á¡ñἿ, ß«ñÑαªáΘ¿¼¿
»α«»πΘÑ¡¡πε «Φ¿í¬π.
é í«½∞Φ¿¡ßΓóÑ «Γ½áñτ¿¬«ó ñ½∩ Γ«ú« τΓ«íδ óÑα¡πΓ∞ß∩ ó Γ« ¼ÑßΓ«
»α«úαá¼¼δ, úñÑ ß«ñÑনΓß∩ «Φ¿í¬á, ΓαÑíπÑΓß∩ óαπτ¡πε óó«ñ¿Γ∞
ñ½¿¡¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¬«¼á¡ñ. é «Γ½áñτ¿¬Ñ Turbo Debugger
¿¼ÑÑΓß∩ Γá¬«Ñ ¼«Θ¡«Ñ ßαÑñßΓó« ¬á¬ ºá»¿ß∞ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
¡áªáΓ¿⌐ ¬½áó¿Φ ó »α«µÑßßÑ «Γ½áñ¬¿ ¿ ó«ß»α«¿ºóÑñÑ¡¿Ñ ÑÑ »«
ΓαÑí«óá¡¿ε »«½∞º«óáΓѽ∩. ÄΓ½áñτ¿¬ Γá¬ªÑ »«ºó«½∩ÑΓ »ÑαѺáúαπº¿Γ∞
»«ß½Ññ¡εε »α«úαá¼¼π ß ñ¿ß¬á, ß«σαá¡¿ó ÑÑ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐
ßΓ᫬¿.
ÅÑαѺáúαπº¬á »α«úαá¼¼δ
ä½∩ Γ«ú« τΓ«íδ ºá¡«ó« ºáúαπº¿Γ∞ »α«úαá¼¼π, ¬«Γ«απε óδ
«Γ½áª¿ó὿, óδ»«½¡¿ΓÑ ¬«¼á¡ñπ Run/Program Reset. Turbo
Debugger ºáúαπº¿Γ∞ »α«úαá¼¼π ß ñ¿ß¬á, ¿ß»«½∞ºπ∩ óßÑ ñá¡¡δÑ,
¬«Γ«αδÑ ¼«ú½¿ íδΓ∞ ñ«íáó½Ñ¡δ ó ¡ÑÑ »«ß½Ñ »«ß½Ññ¡Ñú« ß«σαá¡Ñ¡¿∩ ¡á
ñ¿ß¬Ñ. ¥Γ« ßá¼δ⌐ íѺ«»áß¡δ⌐ ß»«ß«í »«óΓ«α¡«ú« ºá»πß¬á »α«úαá¼¼δ.
ÅÑαѺá»π߬ »πΓѼ óδ»«½¡Ñ¡¿∩ ¡áτá½á »α«úαá¼¼δ ¼«ªÑΓ «¬áºáΓ∞ß∩
α¿ß¬«óá¡¡δ¼, »«ß¬«½∞¬π ñ½∩ ¼¡«ú¿σ »α«úαá¼¼ ΓαÑíπÑΓß∩
¿¡¿µ¿á½¿ºáµ¿∩ «Γñѽ∞¡δσ ñá¡¡δσ, σαá¡∩Θ¿σß∩ ó ñ¿ß¬«ó«¼ Σá⌐½Ñ.
çá¼ÑΓ∞ΓÑ, τΓ« ¬«¼á¡ñá Program Reset «ßΓáó½∩ÑΓ íѺ ¿º¼Ñ¡Ñ¡¿∩ Γ«τ¬¿
«ßΓá¡«óá ¿ «Γ߽Ѫ¿óáѼδÑ »ÑαѼѡ¡δÑ.
çỿß∞ ¿ ó«ß»α«¿ºóÑñÑ¡¿Ñ ¡áªáΓ¿⌐ ¬½áó¿Φ ó ¼á¬α«ßáσ
ä½∩ ºá»¿ß¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¡áªáΓ¿⌐ ¬½áó¿Φ, ¬«Γ«αá∩ τáßΓ«
¿ß»«½∞ºπÑΓß∩ »α¿ «Γ½áñ¬Ñ »α«úαá¼¼, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¼á¬α«ßδ.
ìá»α¿¼Ñα, ó« óαѼ∩ «Γ½áñ¬¿ »α«úαá¼¼δ τáßΓ« »«óΓ«α∩ÑΓß∩
»«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¬«¼á¡ñ, ¬«Γ«αá∩ óδ»«½¡∩ÑΓ »α«úαá¼¼π ñ«
«»αÑñѽѡ¡«ú« ¼ÑßΓá. ¥Γ« ¼«ªÑΓ «¬áºáΓ∞ß∩ «τÑ¡∞ πΓ«¼¿Γѽ∞¡δ¼
ºá¡∩Γ¿Ñ¼.
ùΓ«íδ «í«⌐Γ¿ φΓπ »α«í½Ñ¼π, ¼«ª¡« «»αÑñѽ¿Γ∞ ¼á¬α«ß, ó
¬«Γ«α«¼ íπñπΓ "ºá»¿ßá¡δ" óßÑ ¬½áó¿Φ¿, ¬«Γ«αδÑ óδ ¡áª¿¼á½¿ ß
¼«¼Ñ¡Γá ºá»πß¬á «Γ½áñτ¿¬á ñ« Γ«ú«, ¬á¬ »α«úαá¼¼á ó«⌐ñÑΓ ó
ªÑ½áѼ«Ñ ß«ßΓ«∩¡¿Ñ. é φëà ¼«¼Ñ¡Γ ¼«ª¡« »αÑαóáΓ∞ ºá»¿ß∞ ¡áªáΓ¿⌐
¬½áó¿Φ. àß½¿ »«ß½Ñ φΓ«ú« »«ΓαÑíπÑΓß∩ óÑα¡πΓ∞ß∩ ¬ Γ«¼π ªÑ ßἫ¼π
¼ÑßΓπ »α«úαá¼¼δ, óßÑ, τΓ« »«ΓαÑíπÑΓß∩ ßñѽáΓ∞, φΓ« ó«ß»α«¿ºóÑßΓ¿
ºá»¿ßá¡¡δ⌐ ¼á¬α«ß.
¥Γ«Γ ß»«ß«í ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ñ½∩ ºá»¿ß¿ ¡áªáΓ¿⌐ ¬½áó¿Φ ó«
óαѼ∩ αáí«Γδ »α«úαá¼¼δ. çỿßδóáΓ∞ ¼«ª¡« Γ«½∞¬« ¡áªáΓ¿∩ ¬½áó¿Φ,
óδºδóáεΘ¿Ñ ¬«¼á¡ñδ «Γ½áñτ¿¬á.
ä½∩ Γ«ú« τΓ«íδ ºá»¿ßáΓ∞ óÑß∞ ßÑá¡ß «Γ½áñ¬¿, »Ñαó«Ñ, τΓ«
¡πª¡« ßñѽáΓ∞ »«ß½Ñ ºá»πß¬á «Γ½áñτ¿¬á ¿º DOS, φΓ« «»αÑñѽ¿Γ∞
¬½áó¿Φπ ñ½∩ ó맮óá ¼á¬α«ßá. ä½∩ φΓ«ú« ¡áñ« óδíαáΓ∞ ¬«¼á¡ñπ
Options/Macros/ Create. ÄΓ½áñτ¿¬ »«»α«ß¿Γ óáß ¡áªáΓ∞ ¬½áó¿Φπ,
¬«Γ«αá∩ íπñÑΓ ¡áº¡áτÑ¡á ¼á¬α«ßπ. éδíÑα¿ΓÑ ¬½áó¿Φπ, ¬«Γ«α«⌐ ¡Ñ
¡áº¡áτÑ¡á ¬á¬á∩-Γ« ñαπúá∩ Σπ¡¬µ¿∩, ¡á»α¿¼Ñα, Shift ¿ «ñ¡á ¿º
Σπ¡¬µ¿«¡á½∞¡δσ ¬½áó¿Φ, ߬áªÑ¼ Shift-F1. ÆÑ»Ñα∞ óδ»«½¡∩⌐ΓÑ ßó«ε
»α«úαá¼¼π, »«¬á ¡Ñ «í¡áαπª¿ΓÑ «Φ¿í¬π.
é φΓ«⌐ Γ«τ¬Ñ «ßΓá¡«ó¿ΓÑ ºá»¿ß∞ ¼á¬α«ßá, óδíαáó ¬«¼á¡ñπ
Macros/Stop Recording. ÆÑ»Ñα∞ ß«σαá¡¿ΓÑ »«½πτÑ¡¡δ⌐ ¼á¬α«ß ¡á
ñ¿ß¬Ñ, óδíαáó ¬«¼á¡ñπ Options/Save Options. Åα«ñ«½ªá⌐ΓÑ óδ»«½¡∩Γ∞
ßó«ε »α«úαá¼¼π. Å«ß½Ñ Γ«ú«, ¬á¬ ó αáí«ΓÑ »α«úαá¼¼δ »α«¿º«⌐ñÑΓ
ßí«⌐ ¿ óδ íπñÑΓÑ óδ¡πªñÑ¡δ »ÑαѺáúαπº¿Γ∞ ÑÑ ¿ Turbo Debugger, óá¼
ñ«ßΓáΓ«τ¡« íπñÑΓ ¡áªáΓ∞ ¬½áó¿Φ¿ Shift-F1, τΓ«íδ ºá¡«ó« ºá»πßΓ¿Γ∞
»α«úαá¼¼π.
àß½¿ ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ ºá»¿ßá¡¡«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
¬«¼á¡ñ óáΦá »α«úαá¼¼á íπñÑΓ ΓαÑí«óáΓ∞, τΓ«íδ óδ óó«ñ¿½¿ ß
¬½áó¿áΓπαδ ¬á¬¿ÑΓ« ñá¡¡δÑ, óá¼ »«-»αѪ¡Ñ¼π »α¿ñÑΓß∩ óó«ñ¿Γ∞ ¿σ
óαπτ¡πε. Ç ñ½∩ »α«úαá¼¼, ¬«Γ«αδÑ ¡Ñ ºá»αáΦ¿óáεΓ π »«½∞º«óáΓѽ∩
¡¿¬á¬¿σ ñá¡¡δσ, ¼Ñσá¡¿º¼ ºá»¿ß¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¡áªáΓ¿⌐ ¬½áó¿Φ
¼«ªÑΓ »«½¡«ßΓ∞ε áóΓ«¼áΓ¿º¿α«óáΓ∞ »α«µÑñπαπ »ÑαѺá»π߬á,
º¡áτ¿Γѽ∞¡« φ¬«¡«¼∩ óáΦÑ óαѼ∩.
Åα¿¼Ñτá¡¿Ñ: è«úñá ¼á¬α«ß ºá»¿ßδóáÑΓß∩ ó Σá⌐½ ¬«¡Σ¿úπαᵿ¿,
ó¼ÑßΓÑ ß ¡¿¼ ºá»¿ßδóáεΓß∩ óßÑ »áαá¼ÑΓαδ ßαÑñδ «Γ½áñτ¿¬á, ó¬½ετá∩
»áαá¼ÑΓαδ «Γ¬αδΓδσ «¬«¡ »α«ß¼«Γαá ¿ αáßΦ¿αÑ¡¡δσ «¬«¡.
æ½Ññ«óáΓѽ∞¡«, Ñß½¿ óδ ºá»¿ßδóáÑΓÑ ¼á¬α«ß, ¬«Γ«αδ⌐ «Γ¬αδóáÑΓ «¬¡«
»α«ß¼«Γαá, ¿ »ÑαÑñ ß«σαá¡Ñ¡¿Ñ¼ ¼á¬α«ßá ¡Ñ ºá¬α뫨 φΓ« «¬¡«, Γ« ó
ß½ÑñπεΘ¿⌐ αáº, ¬«úñá óδ íπñÑΓÑ ó«ßßΓá¡áó½¿óáΓ∞ »áαá¼ÑΓαδ ¿º Σá⌐½á
¬«¡Σ¿úπαᵿ¿, φΓ« «¬¡« íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿ «Γ¬αδóáΓ∞ß∩ íѺ
óδ»«½¡Ñ¡¿∩ ¼á¬α«ßá.
çáúαπº¬á ó «Γ½áñτ¿¬ ¡«ó«⌐ »α«úαá¼¼δ
-----------------------------------------------------------------
ä½∩ ºáúαπº¬¿ ó «Γ½áñτ¿¬ ¡«ó«⌐ »α«úαá¼¼δ ¡áñ« óδíαáΓ∞ ¬«¼á¡ñπ
File/Open.
É¿ß.5.5 ü½«¬ ñ¿á½«úá Load Program
éδ ¼«ªÑΓÑ óóÑßΓ¿ ¿¼∩ Σá⌐½á (ß αáßΦ¿αÑ¡¿Ñ¼ .EXE) ó í½«¬Ñ
óó«ñá File Name, ½¿í« ¡áªáΓ∞ Enter ñ½∩ á¬Γ¿ó¿ºáµ¿¿ í½«¬á ß»¿ß¬á ß
¿¼Ñ¡á¼¿ .EXE-Σá⌐½«ó ó ΓѬπΘÑ⌐ ñ¿αÑ¬Γ«α¿¿. ÅÑαѼÑßΓ¿ΓÑ óδñѽ∩εΘ¿⌐
¬παß«α ¬ ¡πª¡«¼π Σá⌐½π ¿ ¡áª¼¿ΓÑ ¬½áó¿Φπ Enter.
àß½¿ ó «ΓóÑΓ ¡á ºá»α«ß «Γ½áñτ¿¬á óδ ¡áí¿αáÑΓÑ ¿¼∩ Σá⌐½á, Γ«
»« ¼ÑαÑ óó«ñá φΓ«ú« ¿¼Ñ¡¿ íπñπΓ óδßóÑτ¿óáΓ∞ß∩ ¿¼Ñ¡á Σá⌐½«ó,
ß«ó»áñáεΘ¿Ñ ß óó«ñ¿¼δ¼¿ íπ¬óἿ. è«úñá ¬παß«α »«»áñÑΓ ¡á ¡πª¡«Ñ
¿¼∩, ¡áª¼¿ΓÑ Enter.
Å«ß½Ñ ¿¼Ñ¡¿ »α«úαá¼¼δ ¼«ª¡« π¬áºáΓ∞ ÑÑ áαúπ¼Ñ¡Γδ Γ«τ¡« Γá¬
ªÑ, ¬á¬ φΓ« ñѽáÑΓß∩ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ DOS:
myprog a b c
¥Γá ¬«¼á¡ñá ºáúαπº¿Γ »α«úαá¼¼π MyProg ß ΓαѼ∩ áαúπ¼Ñ¡ΓἿ
¬«¼á¡ñ¡«⌐ ßΓ᫬¿: a, b ¿ c.
꺼ѡѡ¿Ñ áαúπ¼Ñ¡Γ«ó »α«úαá¼¼δ
-----------------------------------------------------------------
àß½¿ »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ óδ ºáí뫨 ºáñáΓ∞ ¬á¬¿Ñ-Γ« ¡πª¡δÑ
áαúπ¼Ñ¡Γδ, óδ ¼«ªÑΓÑ ó«ß»«½∞º«óáΓ∞ß∩ ¬«¼á¡ñ«⌐ Run | Arguments,
¬«Γ«αá∩ »«ºó«½∩ÑΓ ºáñáóáΓ∞ ¿ ¿º¼Ñ¡∩Γ∞ áαúπ¼Ñ¡Γδ. ì«óδÑ áαúπ¼Ñ¡Γδ
óó«ñ¿ΓÑ Γ«τ¡« ΓᬠªÑ, ¬á¬ Ñß½¿ íδ óδ π¬áºδó὿ ¿σ »«ß½Ñ ¿¼Ñ¡¿
»α«úαá¼¼δ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ DOS.
Å«ß½Ñ Γ«ú«, ¬á¬ óδ óóÑñÑΓÑ ¡«óδÑ áαúπ¼Ñ¡Γδ, Turbo Debugger
ß»α«ß¿Γ π óáß, σ«Γ¿ΓÑ ½¿ óδ »ÑαѺáúαπº¿Γ∞ ßó«ε »α«úαá¼¼π ß ñ¿ß¬á.
èᬠ»αá󿽫, ó Γᬿσ ß¿Γπᵿ∩σ ß½ÑñπÑΓ «ΓóÑτáΓ∞ "äá" (Yes),
»«ß¬«½∞¬π ó í«½∞Φ¿¡ßΓóÑ ß½πτáÑó ¡«óδÑ áαúπ¼Ñ¡Γδ íπñπΓ ó½¿∩Γ∞ ¡á
αáí«Γπ »α«úαá¼¼δ Γ«½∞¬« »«ß½Ñ ÑÑ ºáúαπº¬¿.